
//MyClass.h file:@interface MyClass : NSObject@property (nonatomic,retain) Nsstring *devicename;@property (nonatomic,retain) Nsstring *deviceid;@end//MyClass.m file:#import "MyClass.h"@implementation ApplicationStatus// no @synthesize used at all.-(voID)dealloc{ [_devicename release]; // gives errors only while converting to ARC with LLVM 5.0 [_deviceid release]; [super dealloc];}@end 上面的代码在非ARC模式下以及在ARC转换过程中的旧Xcode版本中编译得很好.
当尝试使用最新的LLVM 5.0编译器(最新的Xcode)进行转换时,它给了我数以百万计的错误:
这是什么原因?我是否必须手动创建数百个实例变量并立即手动@synthesize它们?苹果公司在所有WWDC上宣传的“少写代码”理念是否会退后一步呢?
解决方法 我刚刚遇到同样的问题.在Apple的指导下,我虔诚地使用自我.在init之外的init和_.
当您在Xcode 5中迁移到ARC时,这会中断.
我发现最简单的方法是:
@synthesise devicename = _devicename;
改变所有引用只是愚蠢,痛苦和错误,对于只读变量,甚至不是一个选项.
自动完成在设置合成语句时非常聪明,而你只需要它们用于你将要在init中访问的内容.
总结以上是内存溢出为你收集整理的xcode – 转换为自动引用计数(ARC):’使用未声明的标识符’错误全部内容,希望文章能够帮你解决xcode – 转换为自动引用计数(ARC):’使用未声明的标识符’错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)