我只是想知道写这个有什么区别:
@interface Monster : CCSprite
@property (nonatomic, assign) NSString *life;
@property (nonatomic, assign) int color;
- (id)initWithFile:(NSString *)file hp:(int)life:(NSString *)color;
@end
并且:
@interface Monster : CCSprite{
NSString *life;
int color;
}
- (id)initWithFile:(NSString *)file hp:(int)life:(NSString *)color;
@end
提前感谢您的帮助。
答案 0 :(得分:2)
简答:当您添加属性时,调用自身的类可以访问它。实施例
LevelClass分配并初始化你的Monster类,它可以像这样访问他的属性
Monster *monsterIstance = [[Monster alloc] init];
NSLog(@" monster life = %@", monsterIstance.life);
一旦你将@property与@synthesize一起使用,你就会自动生成set
和get
代码。
self.life = @"text";
等于
[self setlife: @"text"];
答案很长:查看when-to-use-properties-in-objective-c和why-would-you-use-an-ivar
你还应该阅读Ray Wenderlich网站的 this 教程,它将解释很多关于弧/属性等的内容