我正在修改一个非ARC的开源应用程序。我的大部分iOS经验都是使用启用了ARC的Objective-C,因此当我创建并添加新文件到项目中时,我倾向于使用编译器标志使它们符合ARC(特别是当我面对奇怪的非ARC代码错误时)。让我夜不能寐的问题是:在我的项目中混合使用ARC和非ARC代码有多安全可靠?当进行QA测试时,是否会变成测试内存泄漏和性能等方面的噩梦?换句话说...将现有的非ARC代码转换为ARC代码并摆脱潜在的麻烦是否值得呢?
我认为开启ARC后,某些代码是被禁止的,例如这个方法,因此不安全。 - (void)dealloc { [super dealloc]; } 当然,在发布时: [exampleVariable release]; 这可以存在于非ARC项目中。