我使用NSJSONSerialzation解析JSON字符串,然后将其转换为NSDictionary以使用键值对。服务器将JSON字符串中的一些值作为整数发送,但是,NSDictionary将它们表示为CFNumber,例如,CFNumber为int或NSNumber?
<CFNumber 0xa581270 [0x1d7b4d8]>{value = +0, type = kCFNumberSInt32Type}
我怎样才能把它整齐地转换成int或NSNumber?
我使用NSJSONSerialzation解析JSON字符串,然后将其转换为NSDictionary以使用键值对。服务器将JSON字符串中的一些值作为整数发送,但是,NSDictionary将它们表示为CFNumber,例如,CFNumber为int或NSNumber?
<CFNumber 0xa581270 [0x1d7b4d8]>{value = +0, type = kCFNumberSInt32Type}
我怎样才能把它整齐地转换成int或NSNumber?
你可以施放它,因为toll-free bridging
NSNumber *num = (NSNumber *)cfnum;
如果启用ARC
NSNumber *num = (__bridge NSNumber *)cfnum;
的NSNumber和CFNumberRef的免费电话桥接,这意味着一个转换到其他所有你需要做的无论你选择哪种类型,都可以投射出你想要的类型。在将CFNumberRef转换为NSNumber的ARC代码中,使用(__bridge NSNumber *)theCFNumberRef。