Cocos2d iphone 什么';用int关键字声明int与用@property(非原子,赋值)声明int有什么区别?

Cocos2d iphone 什么';用int关键字声明int与用@property(非原子,赋值)声明int有什么区别?,cocos2d-iphone,Cocos2d Iphone,我只想知道写这篇文章的区别是什么: @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{

我只想知道写这篇文章的区别是什么:

@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

提前感谢您的帮助。

简短回答:添加属性时,调用自身的类可以访问该属性。范例

LevelClass alloc和init您的怪物类,它可以像这样访问他的属性

Monster *monsterIstance = [[Monster alloc] init];
NSLog(@" monster life = %@", monsterIstance.life);
一旦将@property与@synthesis一起使用,就会自动生成
set
get
代码

self.life = @"text";
等于

[self setlife: @"text"];
详细回答:检查此项并

您还应该阅读Ray Wenderlich网站上的教程,它将解释很多关于arc/属性等的内容

可能重复的