以下代码有问题(在iOS 7.1中使用xcode 5)
Player *aPlayer = theDungeon.thePlayer;
int r = aPlayer.lampRed;
int g = aPlayer.lampGreen;
int b = aPlayer.lampBlue;
Player *aPlayer = theDungeon.thePlayer;
返回一个有效的Player对象,该对象具有上面显示的每个属性,并将鼠标悬停在此变量上并将其扩展,我可以看到lampRed等。
int r = aPlayer.lampRed;
在这一行,我得到了错误的访问错误。
这是属性:
@property int lampRed;
知道为什么吗?
最佳答案
未初始化对象或对象已释放时,将显示EXC_BAD_ACCESS。
因此,我认为您没有正确初始化该对象,并且正在尝试访问他的属性。
您必须实例化该对象:
Player *aPlayer = [[Player alloc]init];
那么你就可以访问他的 property
用:
@property(nonatomic, assign) int lampRed;
代替
@property int lampRed;
另一方面,这非常重要,您必须使用.m文件中的属性:
@synthesize lampRed;
有了它,您将获得吸气剂和吸气剂,否则就没有。
关于ios - EXC_BAD_ACCESS和 setter/getter ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22329480/