Vic*_*rba 34 iphone animation objective-c automatic-ref-counting
我试图从图像数组中在iPhone中制作一个简单的动画图像:
- (void)viewDidLoad {
NSArray *imageArray;
imageArray = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"sun1"],
[UIImage imageNamed:@"sun2"],
nil];
fadeImage.animationImages = imageArray;
fadeImage.animationDuration = 1;
[imageArray release]; //==== HERE IS WHERE I GET THE ERROR ======
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
Jea*_*ean 78
解决方案#1:
只需删除发布声明即可.ARC将为您管理它.
[imageArray release]; // remove this line
Run Code Online (Sandbox Code Playgroud)
ARC是自动参考计数.与手动引用计数相反.
WWDC有几个很棒的谈话视频.如果您想观看,我可以提供链接.
在转换到ARC发行说明中,请参阅ARC强制执行新规则:
您无法显式调用dealloc,也无法实现或调用retain, release,retainCount或autorelease.
禁止扩展到使用@selector(retain),@ selector(release)等.
解决方案#2:
如果您不希望将代码转换为ARC(例如,您不是在编写新的应用程序,而是维护旧的应用程序,或者您导入的代码太多而无法移动到ARC),则可以禁用ARC.
禁用所选文件的 ARC要禁用ARC,可以使用-fno-objc-arc特定文件的编译器标志.选择目标并转到Build Phases- > Compile Sources.编辑Compiler
Flags并添加-fno-objc-arc.
为项目禁用ARC
源:如何禁用Xcode4.2自动引用计数