Задача C: проблема в переключении BOOLEAN значения свойства после нажатия кнопки - PullRequest
1 голос
/ 24 июня 2011

Я пытаюсь переключить значение BOOLEAN свойства 'isLiked', как показано в коде ниже

//BOOL isLiked is defined in the header file as property of answer class
- (void)buttonPressed
{
    NSLog(@"button pressed");

    if ([btnType isEqualToString:@"like"]) 
    {
       self.answer.isLiked = !self.answer.isLiked;  
       NSLog(@"answer is: %i",self.answer.isLiked);
   }

}

Когда я распечатываю значение self.answer.isLiked, я вижу, чтоВозвращаемое значение всегда равно 0.Как я могу переключить значения ??

Ответы [ 2 ]

3 голосов
/ 24 июня 2011

Полагаю, self.answer на самом деле ноль.Это заставит self.answer.isLiked = !self.answer.isLiked вообще ничего не делать и заставит NSLog фактически записывать целочисленное значение nil, равное 0.

2 голосов
/ 24 июня 2011

Я подозреваю, что ваш заголовок выглядит примерно так:

@property (nonatomic, getter=isLiked) BOOL liked;

В этом случае ваш код нажатия кнопки должен быть:

self.answer.liked = !self.answer.isLiked;
NSLog(@"answer is: %i",self.answer.isLiked);

Обратите внимание, что установщик для вашего логического значения пропускает 'is 'префикс, и делает первую букву строчной.

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