OC基础调用超类问题???很简单的!!!!求大神帮忙

要求:如果红色,则改为绿色,否则不变!如下图,我可不可以把super那句放在if里面图片

http://blog.csdn.net/mousebaby808/article/details/37398147

你的意思是想和初始化时 if(self = [super init]){}之类的代码一样?貌似不行

不行,如果放在里面,只有是红色的时候才去设置颜色,其他的都不设置颜色了,就不会有颜色变化了

不可以放在里面,这样会导致其他非红色时候不能正常设置.

根据你的需求,不可以。
你放到if里面,那么子类调用setColor方法,if条件不成立时,相当于什么也没做。
这样的话,意思就是只有参数给你红色的时候,颜色才会被设置,并且这个颜色被你改成绿色了。
但是如果传别的颜色,那么什么都不做。就会设置不成功。