-1

可能重复:
@property @synthesize

嗨,我在创建后发现了很多应用程序,@property我们也必须声明@synthsize,但我想知道两者之间的区别

NSArray *_failedBankInfos;

@property (nonatomic, retain) NSArray *failedBankInfos;
@synthesize failedBankInfos = _failedBankInfos;

@property (nonatomic, retain) NSArray *_failedBankInfos;
@synthesize _failedBankInfos;

谁能解释一下。

4

1 回答 1

3

@synthesize将使用 iVar 的声明映射属性,即创建 getter 和 setter 方法,而无需开发人员显式地实现访问器方法和其中的内存管理(根据@property例如:retain, copy.)中的参数。因此,当我们使用*_iVar(根据命名约定应该是私有 iVar)并且我们希望访问器方法看起来像没有“ _”的访问器方法时,例如:[aClass getIVar]而不是[aClass get_iVar]_iVar带有 the@synthesize iVar=_iVar@property(retain/copy/assign,atomic/nonatomic) NSObject *iVar;

PS:另请参阅Ray's的iOS> = 5.0中的自动引用计数

于 2012-06-21T05:11:37.343 回答