2011-09-03 24 views
0

我已經閱讀了所有可以在stackoverflow和其他地方找到的帖子。我明白,下劃線公約的目的是區分使用伊娃本身和它的財產,但如果人們對變量名稱很謹慎,我不確定實際區別是什麼。我有兩個問題。用下劃線命名ivars,具體含義

是否有一個地方,我不能使用訪問器和使用_var? 換句話說,就是有,我不能用的地方: self.var [self var] self.var=foo [self setVar:foo]

其次,可能有人使用下劃線公約將我惹麻煩描述的情況下,該下劃線約定,否則繼續我退出了嗎?

如果此問題在其他地方得到解答,我很抱歉;我沒有找到它,或者我不明白它!

回答

0

好,合法的一些,不爲別人,你可以做這樣的事情

-(void) setAlive:(BOOL) isItOrNot { 

    if(isItOrNot) { 
     [self setHPs:self.characterClass.baseHPs]; 
     [self.army addCharacterWithKey:self.key]; 
    } else { 
     [self setHPs:0]; 
     [self.army removeCharacterWithKey:self.key]; 
    } 

    alive_=isItOrNot; 

} 

-(BOOL) alive { 
    return alive_; 
} 

作爲一個例子......如果你這樣做了,你保留的ivars,辦理條件,其中的參數是等於目前的iVar仔細:)