4

NSJSONSerialzationを使用してJSON文字列を解析し、それをNSDictionaryにキャストして、キーと値のペアを処理しています。JSON文字列の値の一部はサーバーによって整数として送信されましたが、NSDictionaryはそれらをCFNumberとして表します。

<CFNumber 0xa581270 [0x1d7b4d8]>{value = +0, type = kCFNumberSInt32Type}

これをintまたはNSNumberにきれいに変換するにはどうすればよいですか?

4

2 に答える 2

6

フリーダイヤルブリッジなのでキャストできます

NSNumber *num = (NSNumber *)cfnum;

ARCが有効な場合

NSNumber *num = (__bridge NSNumber *)cfnum;
于 2013-03-24T00:27:36.200 に答える
0

NSNumberとCFNumberRefはフリーダイヤルでブリッジされています。つまり、一方を他方に変換するために必要なのは、どちらかを必要なタイプにキャストすることだけです。CFNumberRefをNSNumberに変換するARCコードでは、(__ bridge NSNumber *)theCFNumberRefを使用します。

于 2013-03-24T00:31:46.717 に答える