NSNumber到NSInteger从2到528839664

时间:2016-05-06 05:41:47

标签: ios objective-c nsnumber

我正在从plist中读取一堆NSNumber值,代码I中的第一行显示stoneOne值为2 [@" Column"]。当我为' c'设置断点时在第二行,并检查[c intValue],c是正确的int 2.但是,当我分析NSInteger列的值时,值为528839664.这有什么原因?我不应该得到c的intValue吗?有必要吗? (我想将NSNumber值转换为可读的NSInteger值,你必须调用该方法)。

    NSNumber* c = stoneOne[@"Column"];
    NSInteger column = [c intValue];

1 个答案:

答案 0 :(得分:1)

好的,有两件事。

正如Eiko指出的那样,你需要转到下一行,以确保执行...之类的任务。只需前进一步,或将断点放在它下面的行中。

其次,使用$a = array('a', 'b'); $b = array('c', 'd'); array_push($a, ...$b); // $a is now equals to array('a','b','c','d'); 以最佳方式转换为NSInteger。