正常情况下,属性默认是readwrite,可读写,如果我们设置了只读属性,就表明不能使用setter方法,
比如在.h中声明
@property (nonatomic,copy,readonly)NSString *ivar;
在.m文件中不能使用self.ivar = @"aa"; 只能使用实例变量_ivar = @"aa";,而外界想要修改只读属性的值,需要用到kvc赋值,
[object setValue:@"mm" forKey:@"ivar"];
正常情况下,属性默认是readwrite,可读写,如果我们设置了只读属性,就表明不能使用setter方法,
比如在.h中声明
@property (nonatomic,copy,readonly)NSString *ivar;
在.m文件中不能使用self.ivar = @"aa"; 只能使用实例变量_ivar = @"aa";,而外界想要修改只读属性的值,需要用到kvc赋值,
[object setValue:@"mm" forKey:@"ivar"];