0随机变为55?

时间:2015-06-08 14:44:35

标签: objective-c swift integer nsdictionary

我有一个应用程序,我将类型为[string:[int]]的字典从swift文件传递到目标c文件,然后传递给NSDictionary。通过这个过程,数据格式变得搞砸了,但最终我能够从字符串中访问每个int数组,正如NSDictionary所期望的那样。不幸的是,在整行的某个地方整数转换为类型' id',并将其更改回int,我这样做了:

NSLog(@"%d",(int)theThreeNotes[@"0"][0])

theThreeNotes [@" 0"] [0]应为0,但记录为55.你如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

如果字典传递给Objective-C,则所有整数都将成为NSNumber个实例。 NSDictionary / NSArray无法保存原始值。这意味着您必须在号码上拨打integerValue,而不是盲目地向int投降。

或者只使用以下方式打印:

NSLog(@"%@", theThreeNotes[@"0"][0])