цель-с, если заявление - PullRequest
       23

цель-с, если заявление

1 голос
/ 07 августа 2009

Так что это, вероятно, действительно просто, но по какой-то причине я не могу понять это. Когда я запускаю приведенный ниже код, я не могу заставить его перейти в оператор if, даже когда я захожу в консоль отладчика в xcode и выполняю po [resultObject valueForKey:@"type"], он возвращает 0. Что я делаю неправильно? Спасибо за вашу помощь!

NSManagedObject *resultObject = [qResult objectAtIndex:i];

if (([resultObject valueForKey:@"type"])== 0) {
    //do something
}

Ответы [ 2 ]

8 голосов
/ 07 августа 2009

Результат valueForKey: всегда является объектом - и единственный объект, равный 0, равен нулю. В случае числового значения это будет NSNumber. В любом случае, я думаю, что вы хотите попросить [[resultObject valueForKey:@"type"] intValue].

0 голосов
/ 07 августа 2009

Вы можете попробовать привести NSManagedObject к типу int (если это действительно так ...)

Также вам не нужны дополнительные скобки вокруг []

NSManagedObject *resultObject = [qResult objectAtIndex:i];

if ((int)[resultObject valueForKey:@"type"] == 0) {
    //do something
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...