NSNumber дает неправильное значение int - PullRequest
1 голос
/ 15 июня 2011

У меня есть программа, которая получает куки. Одним из параметров этого cookie является NSNumber. Поэтому я сохраняю его в базе данных как

sqlite3_bind_int(addStmt, 2, HEREisNSNUMBER);

Сохранение этого значения как:

cookieObj.created = [paramsDictionary valueForKey:@"Created"];

тогда я создаю и объект класса, и получаю этот параметр в NSNumber; после этого у меня неверное значение. Например: в файле cookie у меня есть 329822675 после сохранения этого изменения в 79931776. Как я могу правильно сохранить этот номер?

Ответы [ 3 ]

1 голос
/ 15 июня 2011

Пожалуйста, попробуйте

sqlite3_bind_int(addStmt, 2, [HEREisNSNUMBER intValue]);
0 голосов
/ 15 июня 2011

NSNumber является ссылочным типом. Вы не должны назначать его как int значение напрямую. Вы должны получить intValue из NSNumber и связать его с оператором sqlite3.

sqlite3_bind_int(addStmt, 2, [HEREisNSNUMBER intValue]);
0 голосов
/ 15 июня 2011

Вы пытаетесь получить int-значение NSNumber.Вот где все идет не так.

Используйте это вместо: sqlite3_bind_int (addStmt, 2, [HEREisNSNUMBER intValue]); `

...