Что вызывает «NSScanner: ноль строковый аргумент»? - PullRequest
27 голосов
/ 17 августа 2011

Я получил это сообщение при сохранении данных в основные данные.

NSScanner: nil string argument

Я не использовал метод NSScanner. Откуда это взялось?

Это ошибка? Что мне с этим делать?

Спасибо, помогите, пожалуйста.

Ответы [ 5 ]

35 голосов
/ 01 сентября 2011

Из опыта могу сказать, что -[NSDecimalNumber initWithString:] со строкой nil - это единственное, что вызывает это сообщение журнала.

Установите точку останова на -[NSScanner initWithString:] для начала;если вы не поймаете его таким образом, то используйте другие способы создания сканера, например +scannerWithString:.Вот так я и удалил ненужную запись в журнале.

5 голосов
/ 01 сентября 2011

FWIW, я получил это сообщение при создании приложения для обработки основных данных.

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

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

0 голосов
/ 09 мая 2018

Я столкнулся с этой проблемой на iOS 9 и iOS 10, НО iOS 11 работает нормально, я решил ее, удалив наблюдателя в dealloc, где я использовал KVO.

Например:

- (void)dealloc {
[self.collectionView removeObserver:self forKeyPath:@"contentSize"];
}
0 голосов
/ 31 июля 2015

У меня такой же журнал аварий NSScanner: nil string argument.

Это моя ситуация

  • Все отлично работает на устройстве.
  • Сбой при dequeueReusableCellWithIdentifier только на симуляторе

Я решил это

Product-> Clean Затем восстановите. У меня все работает нормально. Я не уверен, почему это произошло.

0 голосов
/ 16 октября 2014

Я получил эту ошибку, но не о nil string проблеме. Моя причина в том, что я использую ячейку в раскадровке как динамическую, но в инспекторе атрибутов установите Static Cells. Я изменил этот атрибут на Dynamic Prototypes, решил проблему.

...