NSNumber给出了错误的int值

时间:2011-06-15 09:43:37

标签: iphone objective-c facebook nsnumber

我有一个获取cookie的程序。这个cookie的一个参数是NSNumber。所以我把它保存到数据库

sqlite3_bind_int(addStmt, 2, HEREisNSNUMBER);

将此值保存为:

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

然后我创建类的对象,并将此参数输入NSNumber;在那之后,我有一个错误的价值。例如:在Cookie中,我将此更改保存到329822675后,我有一个79931776。如何正确保存该号码?

3 个答案:

答案 0 :(得分:1)

请尝试

sqlite3_bind_int(addStmt, 2, [HEREisNSNUMBER intValue]);

答案 1 :(得分:0)

您正在尝试获取NSNumber的int值。这就是它出错的地方。

使用此代替: sqlite3_bind_int (addStmt, 2, [HEREisNSNUMBER intValue]); `

答案 2 :(得分:0)

NSNumber 是一种参考类型。您不应直接将其指定为 int 值。您应该获取 NSNumber intValue并将其绑定到sqlite3语句。

sqlite3_bind_int(addStmt, 2, [HEREisNSNUMBER intValue]);