以单下划线开头的属性"_xxx"虽然也可以被外部访问,但是,按照习惯,他们不应该被外部访问。外部怎么访问
不懂这个意思
不懂这个意思
2019-02-02
单下划线开头,我做oc开发的时候,这个被定义为私有变量,实际上不推荐外部访问,根据常用的开发规范,任何属性都应该是私有的。需要通过getter和setter方法进行修改,如果没有getter和setter方法那么这个属性一般来说你不需要去改动它。一些复杂的类可能实现了相当复杂的功能,实际情况对我们来说,我们并不需要知道他的内部实现也不需要去触碰他在内部设计的一些属性,这些属性是他在执行某些功能时所必须的。而我们去修改这些属性的行为本身就是很危险的可能会导致类在运行中出现莫名其妙的错误。特别是oc不少类是不开源的,但是通过反射我们可以看到内部有很多属性对外并没有开放。我们也只能靠经验和名称去猜测他的功能,但是去修改他确是很危险的。
举报