我有 2 个问题。
首先- 在 obj-c 中是否这样声明字符串
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *city;
这些是(nonatomic, copy)
正确的还是我应该使用(nonatomic, strong)
,或者别的什么?
第二- 如果我想为上述字符串设置自定义初始化程序,我是否使用
-(id)initWithName:(NSString *)n andCity:(NSString *)c
{
self = [super init];
if (self) {
self.name = n;
self.city = c;
}
}
或者我应该使用:
-(id)initWithName:(NSString *)n andCity:(NSString *)c
{
self = [super init];
if (self) {
self.name = [n copy]
self.city = [c copy];
}
}
正如我所看到的,这两种方法似乎都适用于这两个问题,但我确信一种方法比另一种更正确,所以我想问我应该使用哪种方法在进一步的项目中编写正确的代码。
谢谢。