NSNumber 给出错误的 int 值
我有一个获取 cookie 的程序。此 cookie 的一个参数是 NSNumber。因此,我将其保存到数据库中,
sqlite3_bind_int(addStmt, 2, HEREisNSNUMBER);
将该值保存为:
cookieObj.created = [paramsDictionary valueForKey:@"Created"];
然后我创建类的对象,并将此参数获取到 NSNumber 中;在那之后,我的价值观是错误的。例如:在 cookie 中,将此更改保存到 79931776
后,我有一个 329822675
。我怎样才能正确保存该号码?
I have a program that gets cookies. One param of this cookie is an NSNumber. So I save it to database as
sqlite3_bind_int(addStmt, 2, HEREisNSNUMBER);
Saving this value as:
cookieObj.created = [paramsDictionary valueForKey:@"Created"];
then I create and object of class, and get this parameter into NSNumber; after that, I have a wrong value. For example: In cookie I have a 329822675
after saving this changes to 79931776
. How can I correctly save that number?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
请尝试
Please try
您正在尝试获取 NSNumber 的 int 值。这就是问题所在。
使用这个代替:
sqlite3_bind_int (addStmt, 2, [HEREisNSNUMBER intValue]);
`
You are trying to get the int-value of an NSNumber. That's where it goes wrong.
Use this instead:
sqlite3_bind_int (addStmt, 2, [HEREisNSNUMBER intValue]);
`
NSNumber 是一个引用类型。您不应直接将其指定为 int 值。您应该获取 NSNumber 的
intValue
并将其绑定到 sqlite3 语句。NSNumber is a reference type. You should not assign it as a int value directly. You should get the
intValue
of NSNumber and bind it to sqlite3 statement.