NSNumber 给出错误的 int 值

发布于 2024-11-15 09:57:07 字数 383 浏览 2 评论 0原文

我有一个获取 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

盛夏尉蓝 2024-11-22 09:57:07

请尝试

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

Please try

sqlite3_bind_int(addStmt, 2, [HEREisNSNUMBER intValue]);
千年*琉璃梦 2024-11-22 09:57:07

您正在尝试获取 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]);
`

甜`诱少女 2024-11-22 09:57:07

NSNumber 是一个引用类型。您不应直接将其指定为 int 值。您应该获取 NSNumberintValue 并将其绑定到 sqlite3 语句。

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

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.

sqlite3_bind_int(addStmt, 2, [HEREisNSNUMBER intValue]);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文