iphone - ARC 中的 '[[something retain] autorelease]' 是什么?

标签 iphone objective-c ios automatic-ref-counting

ARC 中 [[something retain] autorelease] 的等价物是什么?

我遇到一个问题,类 DBRequest 调用我的委托(delegate)来表示完成。然后,我的代表将 DBRequest 实例设置为 nil,这是 dealloc。但是当堆栈从我的委托(delegate)中弹出并跳回 DBRequest 时,它当然会崩溃。

如果我不在 ARC 中,在我的委托(delegate)中我会简单地执行 [[theDbRequest retain] autorelease] 然后释放我对它的引用,这样它就可以存活足够长的时间直到下一个运行循环自动释放它。

我应该在 ARC 中做什么?

最佳答案

如何添加类似的内容

__strong DBRequest * myself = self;
[delegate reportDone];

我认为这会增加 self 对象直到函数结束,防止它过早死亡。

关于iphone - ARC 中的 '[[something retain] autorelease]' 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9643770/

相关文章:

ios - '警告 : directory not found for option' error on build

ios - 在像 Adob​​e After Effects 这样的 iOS 项目中创建动画

iphone - 如何在 AVCapture 视频上添加 CALayer 矩形?

iphone - UIImage : Resize, 然后裁剪

ios - 自动布局 : Xcode 6: Centering UI elements

objective-c - 桌面 Cocoa 中的 UIGraphicsGetImageFromCurrentImageContext 对应物?

objective-c - 使用 Storyboard 从任何 View 执行到初始 View 的转换

iphone - 带有部分的 UICollectionViewFlowLayout(但没有分节符)

iphone - 是否可以转换带有一些音符的音频文件?

ios - UIImage 在 iOS 中使用时看起来不同