именование ivars подчеркиванием, каково практическое значение - PullRequest
0 голосов
/ 04 сентября 2011

Я прочитал все сообщения, которые я мог найти в stackoverflow и в других местах по этому поводу.Я понимаю, что цель соглашения о подчеркивании состоит в том, чтобы различать использование самого ивара и его свойства, но если кто-то осторожен с именами переменных, я не уверен, в чем заключается практическое различие.У меня два вопроса.

Есть ли место, где я не могу использовать средства доступа, и у будет для использования _var?Другими словами, есть ли место, где я не могу использовать: self.var [self var] self.var=foo [self setVar:foo]

Во-вторых, может ли кто-нибудь описать ситуацию, в которой не с использованием соглашения о подчеркивании может привести к неприятностям, чтов противном случае соглашение о подчеркивании не позволило бы мне остаться в стороне?

Извините, если на этот вопрос дан ответ в другом месте;Я не нашел или не понял!

1 Ответ

0 голосов
/ 04 сентября 2011

хорошо, законно для некоторых, а не для других, вы можете сделать что-то вроде этого

-(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:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...