使用以下代码时遇到问题(使用带有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;
知道为什么吗?
答案 0 :(得分:1)
当对象未初始化或对象已被释放时,将显示EXC_BAD_ACCESS。
所以我认为你没有正确初始化对象而你正试图访问他的属性。
您必须实例化对象:
Player *aPlayer = [[Player alloc]init];
然后你可以访问他的财产的
使用:
@property(nonatomic, assign) int lampRed;
代替
@property int lampRed;
另一方面,这非常重要,您必须使用.m文件中的属性:
@synthesize lampRed;
有了这个,你就获得了getter和setter,否则没有。