ARC中的'[[something retain] autorelease]相当于什么?

Chr*_*ris 6 iphone objective-c ios automatic-ref-counting

什么相当于[[something retain] autorelease]ARC?

我有一个问题,类DBRequest调用我的委托来表示完成.我的委托然后将DBRequest实例设置为nil,dealloc就是它.但是当堆栈弹出我的委托并跳回DBRequest时,它当然会崩溃.

如果我不在ARC中,在我的委托中我只是[[theDbRequest retain] autorelease]在释放我对它的引用之前做的,这样它就能存活足够长的时间直到下一个运行循环自动释放它.

我应该怎么做ARC?

Win*_*ert 6

如何添加类似的东西

__strong DBRequest * myself = self;
[delegate reportDone];
Run Code Online (Sandbox Code Playgroud)

我认为这会增加自我对象,直到函数结束,防止它早死.

  • @Chris,好的,我没有意识到那个位在他们的代码中.我不确定,但您可以在代码中放置一个`__autoreleasing DBRequest*theDBRequest = dbRequest`. (3认同)