我现在在我的iPhone Coco2d游戏的几个差异类中发现了一个问题,我的第一个Objective-c go。我的二传手似乎没有工作!如果我在设置它之后尝试访问属性为NULL(如果是Stringed)或者我得到一个致命的错误访问异常,我一定做错了,继承我的代码:
@interface Character : CCNode
{
CCSprite* sprite;
int width;
int height;
}
@property (retain) CCSprite* sprite;
@property int width;
@property int height;
@end
和实施:
@implementation Character
@synthesize sprite;
@synthesize width;
@synthesize height;
-(id) init
{
if((self=[super init])) {
[self setSprite :[CCSprite spriteWithFile:@"character.png"]];
[self setWidth:28];
[self setHeight:28];
NSLog(@"About to try get height...");
NSLog([self height]); //bad access exception
}
}
答案 0 :(得分:4)
这是一个格式不正确的日志声明
NSLog(@"Height :%d", [self height]);
NSLog
查找要打印的字符串,你给它一个无法更改为对象的int