我正在使用NSJSONSerialzation解析JSON字符串,然后将其转换为NSDictionary以使用键值对。 JSON字符串中的某些值由服务器作为整数发送,但是,NSDictionary将它们表示为CFNumber,例如:
<CFNumber 0xa581270 [0x1d7b4d8]>{value = +0, type = kCFNumberSInt32Type}
我怎样才能将它整齐地转换为int或NSNumber?
答案 0 :(得分:5)
你可以因为toll-free bridging
而投出它NSNumber *num = (NSNumber *)cfnum;
如果启用了ARC
NSNumber *num = (__bridge NSNumber *)cfnum;
答案 1 :(得分:0)
NSNumber和CFNumberRef是免费桥接的,这意味着要将一个转换为另一个,您所要做的就是将您拥有的任何一个转换为您想要的类型。在ARC代码中将CFNumberRef转换为NSNumber使用(__bridge NSNumber *)theCFNumberRef。