为了账号安全,请及时绑定邮箱和手机立即绑定

iOS 中setter和getter方法为什么不可以同时写

iOS 中setter和getter方法为什么不可以同时写

慕慕森 2019-04-10 20:48:35
单独写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;
}
                            
查看完整回答
反对 回复 2019-04-10
  • 2 回答
  • 0 关注
  • 348 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信