何らかの理由で、このサンプルコードは機能します。
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
この関数を使用するときに許可されないという言及を見つけようとしました。プロパティが可変かどうかをメソッドが調べる方法と関係があるのではないかと疑っていますが、事実でそれを裏付けることはできません。
何か案は?