我知道这是一个愚蠢的问题,但这个@property声明与大括号内的声明有什么区别,或者我也可以这样做
@property(非原子,强)NSMutableString *当前
列表而不是在大括号内写入
@interface XMLParser : NSObject <NSXMLParserDelegate>
{
NSMutableString *currentList;
NSXMLParser *parser;
dataFileHolder *dataCurrent;
}
@property(nonatomic, strong) NSMutableArray *listPopulated;
答案 0 :(得分:2)
如果您使用@property
声明getter,将根据您为该属性设置的参数自动生成setter。在此示例中,setter和getter将是非原子的,并使用强引用进行保存。
另一方面,如果你用大括号定义它,只会创建变量(没有getter和setter)
答案 1 :(得分:0)
如果在大括号内声明任何对象,则该对象仅使用该类@interface XMLParser:NSObject {
NSMutableString *currentList;
NSXMLParser *parser;
dataFileHolder *dataCurrent;
}
但是如果你像这样使用@property声明你的对象
@property(非原子,强)NSMutableArray * listPopulated;
这意味着您可以在另一个类中使用此NSMutableArray
@property和getter setter方法之间存在关联@property作为setter而@ntnthesis作为getter