我已经搜索了许多关于ObjC访问器和综合访问器的问题,但是都没有用。这个问题更像是一个“帮助我解决问题”的问题;我不希望有一个答案,但我希望找专家来论证。
在Cocoa Touch类中,我将编写如下代码(其中soundEffects是合成的NSArray属性):
id foo = [self.soundEffects objectAtIndex:1];
一位同事让我解释一下,为什么上述内容比这行更好:
id foo = [soundEffects objectAtIndex:1];
好吧,从功能上来说,没有什么不同。
我对前者的论据如下:
self.soundEffects 告诉处理该代码的所有其他编码器这是一个iVar,而不是局部范围的变量。
如果需要,可以将自定义逻辑放入soundEffectsgetter访问器中。
在没有具体原因的情况下,在Obj-C工作了一年后,感觉就像做正确的事情。
他接受参数#1和#2是有效的,但也给出了对点:
这不只是代码膨胀吗?
是否应该允许类直接与自己的iVar对话而不必自己调用方法(getter)?
有没有人?
肥皂起泡泡