iOS定义属性时的语法getter赋值语法什么意思?

iOS在定义属性时 @property (assign, nonatomic, getter=isDidSelected) BOOL didSelected;请问getter=isDidSelected什么意思?我下载的Demo这样写了以后就没再在定义属性isDidSelected了。

阅读 3.6k
2 个回答

说白了就是更改get方法的名称罢了

如果你不写getter=isDidSelected,那么布尔值didSelected的get方法就是didSelected。你可以在

- (BOOL) didSelected { 
return didSelected; 
}

来重写它。并用

self. didSelected

来拿到它。
如果你写了getter=isDidSelected,那么布尔值didSelected的get方法就是isDidSelected。你可以在

- (BOOL) isDidSelected { 
return didSelected; 
}

来重写它。并用

self. isDidSelected

来拿到它。

getter是你手动指定的getter函数,这样你可以写自己的getter函数,例如:

@property (assign, nonatomic, getter=isDidSelected) BOOL didSelected;

- (BOOL)isDidSelected {
    // 这里可以做一些你想做的
    return 一个BOOL值即可;
}

在self.didSelected调用就会执行isDidSelected方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进