请问iOS开发什么时候需要重写ios中的setter和getter方法。

解决方案 »

  1.   

    可以完全不重写这两个方法,但是当你习惯了用这两个方法后你会发现能极大的简化代码
    比如你的类里面有个label,然后你再定义一个公开属性lableColor来获取这个label字体的颜色
    如果不用get方法的情况下,每当label的字体颜色有变化你都要给lableColor赋值一次,这样才能保证获取到的颜色的是对的,但是如果你重写了lableColor 的get方法,只要return [label.textcolor];全部搞定这只是举个简单的例子,还有set方法也一样,你可以在set的时候制定很多规则来保证set的值是正确的等等很多用法,可以慢慢去体会
      

  2.   

    我是初学者,所以我不清楚,具体在什么需求的情况下重写setter和getter方法,还有就是我不是太明白,在@property声明一个实例变量以后,就会自动生成setter和getter方法,那么重写这两个方法的区别是什么?
      

  3.   

    这个书上有,百度我估计也有不少答案。 ==
    恩确定了,果然有。http://www.zhihu.com/question/21401198自学成才第一课:请学会使用搜索引擎
      

  4.   

    改变变量的方法名
    比如一个变量value,它的set方法名应该是setValue,@property声明setter方法可以改变这个方法名
      

  5.   

    比如一个person类有age属性,那么如果用property声明后,那么set跟get方法仅仅只是做一个_age= age方法,但是你想想看如果你在一个person类new一个对象p出来后我是不是可以p setAge:-20 一个人的年龄可以-20岁吗这肯定不可以的啊,如果重写set方法那么你就可以在set方法中if(age<0)age=1;也就是说当你给age赋的值为小于0的时候,那么经过set方法后,你的age值会自动为1,一个人的年龄最小为1岁也符合常理些咯。