什么是ARC限制,如何去除它们?

3

我刚下载了一个Xcode项目,却遇到了很多关于"ARC限制"的错误。这些是什么,我该如何去除它们?


1
你能分享一些这些限制的例子吗? - Pochi
你尝试读下面写着的“ARC Restrictions”文本了吗? - Matthias Bauch
2个回答

4
基本上,Objective-C中有两个版本的内存管理:ARC和“非ARC”:-) 您可能已经下载了一个不使用ARC的项目。解决问题的最简单方法是指示编译器将您的源代码视为“非ARC”。在这里解释了。 这里是一个很好的教程,可以帮助您开始使用ARC。

3
ARC会自动跟踪内存释放和保留,因此您不能手动释放和保留任何内存。ARC还不允许在编译时调用任何未在接口中声明原型的方法。它也引入了新的@autoreleasepool块,因此它不会自动允许对象的旧autorelease。但是,它允许编写dealloc方法,但不允许调用[super dealloc]。有关ARC的更多内容,请参见此博客。您可以使用xcode将项目转换为ARC。转换方式如下:转到“编辑”->“重构”->“转换为objective c arc”。但是,它与git存储库存在一些兼容性问题,因此在项目中存在.git文件夹时不进行转换。因此,您需要先删除它,然后再进行转换。请查看此链接

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接