2015-09-03 2 views
0

Я проверкой подсчета NSArrayController в Xcode консоли и я получаю это:NSArrayController: сравнение между указателем и целым числом нуля

(lldb)po [_myArrayAC.content count] 
nil 

Но если я пытаюсь проверить, если значение равно нулю:

if ([_myArrayAC.content count] != nil) 

Я получаю эту ошибку:

comparison between pointer and integer null 

Мой вопрос, как я могу проверить, если мой граф NSArrayController равно нулю?

Я по-настоящему благодарю вашу помощь.

+0

Is '_myArrayAC == nil'? – trojanfoe

ответ

1

NSArrayController, конечно, подкрепляется NSArray Вы должны запросить массив по свойству организованных объектов.

NSArray - это объект, поэтому он может быть нолем. ноль может принимать сообщения в Objective-C

NSArray имеет счета свойство, которое является NSUInteger> = 0

Вы можете проверить, если массив равен нулю. (Нет указателя на ноль.)

Вы можете проверить количество. Счет всегда NSInteger.

+0

... поэтому отладчик производит 'nil', потому что массив' nil'? Я не понимаю, как это отвечает на вопрос. – trojanfoe

+0

Ha. Полностью забыл ввести эту часть. – uchuugaka

+0

Использование свойства builtObjects скажет вам, есть ли у вас массив. Он должен возвращать только NSArray для чтения, хотя вы устанавливаете свойство содержимого в NSMutableArray – uchuugaka

1

count возвращает целое число, а не указатель на объект. Вместо po (print object) вы должны использовать p (print). Также целое число может быть 0 (ноль), а не ноль или NULL. Если вы хотите проверить, равен ли счет 0, вы должны сравнить его с 0.

Смежные вопросы