单独写setter方法或者getter方法不会报错。但是同时写,会报错,说不认识成员变量。例如属性NSString*name;-(void)setName:(NSString*)name{_name=name;}-(NSString*)name{return_name;}
2 回答
哈士奇WWW
TA贡献1799条经验 获得超6个赞
如果同时重写了getter和setter方法,那么系统就不会帮你自动生成这个成员变量,所以当然报错说不认识这个成员变量。先手动生成成员变量,然后再同时重写了getter和setter方法。BOOL_carOwner;#pragmamark-gettersandsetters-(void)setCarOwner:(BOOL)carOwner{_carOwner=carOwner;//自定义操作[[NSUserDefaultsstandardUserDefaults]setBool:_carOwnerforKey:@"KeyIsCarOwner"];[[NSUserDefaultsstandardUserDefaults]synchronize];}-(BOOL)carOwner{//自定义操作idresult=[[NSUserDefaultsstandardUserDefaults]valueForKey:@"KeyIsCarOwner"];if(result){return[[[NSUserDefaultsstandardUserDefaults]valueForKey:@"KeyIsCarOwner"]boolValue];}return_carOwner;}
添加回答
举报
0/150
提交
取消