http://www.crifan.com/ios_error_autorelease_is_unavailable_not_available_in_automatic_reference_counting_mode_arc_forbids_explicit_message_send_of_autorelease/
【问题】
在给Your Second iOS App的BirdWatching中,添加自定义日期过程中,参考别处代码,拷贝过来一段代码:
1
|
self.dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
|
结果出现错误:
【解决过程】
1.其实错误很明显,就是说,autorelease不能使用,原因在于我们之前创建当前iOS程序的时候,选择了“Use Automatic Reference Counting”,即使用了ARC,自动引用计数,所以此处,在写代码的时候,就不允许你再手动添加autorelease这个关键字了。
对应的,编译器会帮你自己优化生成对应的释放内存的操作。
所以,解决办法很简单,那就是直接删除autorelease这个关键字,变成:
1
|
self.dateFormatter = [[NSDateFormatter alloc] init];
|
即可。
【总结】
在创建iOS项目时,如果选择了"Use Automatic Reference Counting",那么代码中,自然就不需要再写autorelease了。