目前,我可以寫這樣一個類:可以使用爲自動合成屬性創建的實例變量嗎?
@interface Foo
@property(assign) float bar;
@end
@implementation Foo
- (void) someMethod
{
_bar = 4;
}
@end
它的方便,我可以離開了@synthesize
樣板列表,如果我能習慣下劃線符號,我得到了很好的可讀性規則,一切都命名_foo
是一個實例變量。使用像這樣的自動生成的實例變量可以嗎?我的意思是,也許他們應該對於課堂作者是隱形的?
你真的應該指的是「'self.bar'」,而不是直接訪問「'_bar'」而不是init方法。 –
爲什麼?我瞭解訪問者和普通實例變量之間的區別,我不明白爲什麼我應該始終訪問訪問者。封裝不在這裏,因爲我們正在討論實現類本身的代碼。 – zoul
在浮動的情況下,我不認爲它很重要,但對於對象類型,我認爲你需要使用訪問器方法。只是因爲您不想繞過插入到屬性設置器中的保留/釋放代碼。如果我完全錯了,我肯定有人會糾正我。 – Dcritelli