5
を含む配列/辞書を処理するために失敗:CFPropertyListCreateDeepCopyは、このサンプル・コードは動作何らかの理由nsnullを
NSArray *immutable = @[ @"a", @"b", @"c" ];
NSMutableArray *mutable = (__bridge id)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (__bridge CFArrayRef)immutable, kCFPropertyListMutableContainers);
このコードは、変換の結果としてnil
生成:
NSArray *immutable = @[ @"a", [NSNull null], @"c" ];
NSMutableArray *mutable = (__bridge id)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (__bridge CFArrayRef)immutable, kCFPropertyListMutableContainers);
私が見つけることを試みましたこの関数を使用するときにはNSNull
の言及は許可されていません。私は、方法がプロパティが変更可能かどうかを調べる方法と関係があるとの疑いを持っていますが、実際にそれを裏付けることはできません。
アイデア?
ヌル値を受け入れるための代替方法または回避策がありますか?これは、一部の場所でヌルを持つJSON APIのデータに使用しているためですか? – Sathvik
このソースによるとhttp://www.opensource.apple.com/source/CF/CF-1153.18/CFPropertyList.c(CFPropertyListRef CFPropertyListCreateDeepCopyの検索)はそれほど可能ではありません。おそらくデータセットで遭遇する可能性の低い定義済みの定数でnullを置き換えてみてください。 –