前开发人员为我们的组织构建了一个编写良好的iPhone应用程序。在他退出后,另一位开发人员更新了自动引用计数(ARC)的应用程序。此开发人员已不在此处。我不相信他所做的事,因为他是一个不道德的开发者。我有15年的开发经验,但我是iPhone开发的新手。我需要知道我是否应该完整地保留他的更改。我仔细比较了他所做的改变。他只取出了dealloc函数并删除了'release','retain'和'autorelease'的使用。从我读过http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html:
您无法显式调用dealloc,也无法实现或调用retain,release,retainCount或autorelease。
这应该没问题。
然而,这篇文章
http://www.learn-cocos2d.com/2011/11/everything-know-about-arc/
提到
选择LLVM 3.0作为编译器,可以将Build Setting Objective-C自动引用计数设置为YES。
此设置仍设为NO。在我看来,代码已更新为使用ARC,但该项目未配置ARC。你能告诉我怎么继续吗?
答案 0 :(得分:7)
那么,该参数必须设置为YES,可能代码在任何地方都在泄漏。
您可以使用分析仪检查项目是否泄漏(产品 - >分析)。
如果禁用ARC并从代码中删除版本,分析器将通知您代码正在泄漏,以及在哪里。
因此,启用ARC后,分析仪不会给您任何泄漏。
检查ARC是否被禁用或启用的另一种方法是在代码中使用release或autorelease。如果启用了ARC,您应该看到警告或错误。
答案 1 :(得分:0)