您好我是Apple开发的新手 我在我的项目中使用了这段代码 https://github.com/vladinecko/accordion-uitableview/tree/master/AccordionTableView ,project使用autorelease释放内存本身 是什么让我禁用ARC 因为ARC不允许使用自动释放 我的问题是是否从代码中删除自动释放 并使用ARC或我不能这样做,我需要为自己释放内存
答案 0 :(得分:4)
您可以将代码保留为原样 - 您可以使用ARC编译某些文件而不使用其他文件,但这样做会很麻烦且难以维护。
我建议做的是在代码上运行Xcode的ARC-ifying,以摆脱保留和释放以及自动释放。
在Xcode 5中,查看“Refactor”的“Edit”菜单,然后选择“Convert to ObjC ARC”。
答案 1 :(得分:0)
显然AccordionTableView
不使用ARC,而在您的项目中使用它。
所以你有三个选择
AccordionTableView
AccordionTableView
项目的代码段答案 2 :(得分:0)
首先,作为Objective-C开发的新手,您需要了解内存管理的工作原理。谷歌为“Apple内存管理”而你应该找到相关文件。
在ARC之前,人们手工进行内存管理。使用ARC,ARC可以为您完成。完全相同的内存管理操作应该发生,除了使用ARC你没有更少的程序员工作,并且更好地做到正确的机会。
您有两种选择:关闭单个文件的ARC。这是在Xcode /目标设置/构建阶段/编译源中完成的,方法是将-fno-objc-arc添加到您不想使用ARC的单个文件的构建设置中。如果在不同的项目中使用相同的文件,则必须在每个目标中执行此操作。
另一种选择是将文件转换为ARC。让编译器运行,删除有问题的内存管理代码,主要是保留/释放/自动释放。如果代码使用CoreFoundation函数,那么真的需要理解内存管理,只希望它不会。使用“Analyze”让编译器仔细检查一切正常。