在字典(iPhone)中获取数字类型时出现问题

发布于 2024-08-19 06:37:25 字数 409 浏览 4 评论 0原文

这是我的 plist 和代码

> <plist version="1.0">
>     <dict>
>      <key>Title</key>
>      <string>News</string>
>      <key>icon</key>
>      <integer>0</integer>
>     </dict>
>     </plist>




int i = [dictionary objectForKey:@"icon"];
NSLog(@"%d",i);

日志结果是 81841904 为什么不是 0 ?

here is my plist and code

> <plist version="1.0">
>     <dict>
>      <key>Title</key>
>      <string>News</string>
>      <key>icon</key>
>      <integer>0</integer>
>     </dict>
>     </plist>




int i = [dictionary objectForKey:@"icon"];
NSLog(@"%d",i);

log result is 81841904
why it not 0 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

我乃一代侩神 2024-08-26 06:37:25

科里是对的。请注意 -objectForKey: 方法中的“object”一词;在这种情况下,这确实是一个 NSNumber。你应该做的是

 int i = [[dictionary objectForKey:@"icon"] intValue];

Corey is correct. Note the word "object" in the -objectForKey: method; in this case, that'll indeed be an NSNumber. What you should be doing is

 int i = [[dictionary objectForKey:@"icon"] intValue];
眼眸印温柔 2024-08-26 06:37:25

objectForKey 返回一个引用,而不是一个整数。我相信在这种情况下它返回一个NSNumber。你可以从中得到一个整数值。

objectForKey returns a reference, not an integer. I believe that it's returning a NSNumber in this case. You can get an integer value out of that.

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