最近学习IOS遇到一个问题,我从其他项目抠的一些代码然后报了这么一个错误:
'release' is unavailable: not available in automatic reference counting modeAutomatic,
意思就是说手动释放内存的代码不可以用,原来IOS有2种编译方式:MRC 和 ARC。
OS5.0以后就开始可以使用ARC( Automatic Reference Counting:自动引用计数 )来代替之前的MRC(Manual Reference Counting:人工引用计数)。使用ARC会减少很多代码和忘了释放对象的苦恼。但是事情都有两面性。使用了ARC之后如果你想复用以前写过的使用MRC的类, 就会出报错。这时候怎么办?方法比较简单, 只需要做下面的一个步骤就可以解决:
在targets的build phases选项下Compile Sources下选择要不使用arc编译的文件,双击它,输入 -fno-objc-arc 即可
MRC工程中也可以使用ARC的类。方法如下:
在targets的build phases选项下Compile Sources下选择要使用arc编译的文件,双击它,输入 -fobjc-arc 即可,
这里做个记录。