NSRangeException: ошибка «за пределами» - PullRequest
0 голосов
/ 07 сентября 2010

Я работаю над приложением на основе sqlite, в базе данных которого есть поле с индексом 2.

Здесь я не сохраняю никаких данных, но когда я запускаю эту базу данных в Firefox, я вижу, что индекс 2 имеет значение -2147483648, и когда я пытаюсь добавить новую ячейку в мое подпредставление:

return [appDelegate.items count]+1;

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

Завершение работы приложения из-за неперехваченного исключения 'NSRangeException', причина: '*** - [NSCFArray objectAtIndex:]: index (2) за пределами (2)'

Переменная с индексом 2 имеет десятичный тип: -

NSInteger n = i.need;

и ...

sqlite3_bind_int(updStmt, 2, n);

... это значение по умолчанию, поступающее в индекс 2. Должно ли это что-то делать с исключением? Если да, как я могу это исправить, и если нет, то почему это происходит?

1 Ответ

0 голосов
/ 11 февраля 2011

Я думаю, что вы используете Спецификатор доступа %@ вместо %d при вставке или чтении ... Используйте intValue для извлечения или вставки.

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