【发布时间】:2012-08-22 22:59:13
【问题描述】:
由于某种原因,此示例代码有效:
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。我怀疑它与方法检查属性是否可变的方式有关,但我无法用事实来支持这一点。
有什么想法吗?
【问题讨论】:
标签: objective-c nsmutablearray nsmutabledictionary core-foundation