如果有人可以向我解释为什么在interface语句中定义了一些属性,有些属性为@property属性,我真的很感激。
@interface PlacesParser : NSObject
{
NSMutableArray *arrPlaces;
TBXML *tbxml;
}
@property(nonatomic,retain) NSMutableArray *arrPlaces;
-(void)loadRecords:(NSString *)records;
-(void)traverseElement:(TBXMLElement *)element;
@end
在我的例子中,我们将“arrPlaces”改为@property
界面中的和“arrPlaces”。
答案 0 :(得分:3)
接口中的东西实际上不是属性,它只是一个普通的旧实例变量。 @property
语句是使它成为属性的东西(为您提供setter和getter)。你曾经需要两者,但你不再需要了。如果您希望您的字段是具有这些生成方法的属性,则可以省略初始字段声明。
答案 1 :(得分:0)
What is the difference between ivars and properties in Objective-C
这个帖子真的让我大开眼界。我的问题很好的阐述。