我使用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。