我正在阅读这本官方指南:https://developer.apple.com/library/ios/documentation/cocoa/Conceptual/MemoryMgmt/Articles/mmPractical.html#//apple_ref/doc/uid/TP40004447-SW13而且我不确定它是指旧的处理引用计数的方式,还是只是为了证明它是如何工作的 - 但是应该是像使用访问器一样手动使用保留/释放?
答案 0 :(得分:3)
您不能在ARC中使用retain
。但是它在后台仍然与没有ARC(和您链接的文档中描述的)相同,但编译器会根据需要添加retain
和release
调用。你不必处理这个问题。
这个二传手:
- (void)setCount:(NSNumber *)newCount {
[newCount retain];
[_count release];
// Make the new assignment.
_count = newCount;
}
使用ARC时,应如下所示:
- (void)setCount:(NSNumber *)newCount {
// Make the new assignment.
_count = newCount;
}
答案 1 :(得分:1)
您不使用ARC保留 通过为这些文件添加-fno-objc-arc编译器标志,可以为单个文件禁用ARC。
您在目标中添加编译器标志 - >构建阶段 - >编译源代码。您必须双击Compiler Flags下行的右列。您还可以通过按住cmd按钮选择文件,然后按Enter键以显示标志编辑框,将其添加到多个文件中。