CFPropertyListCreateDeepCopy falha ao processar matriz / dicionário contendo NSNull
Por algum motivo, este código de exemplo funciona:
NSArray *immutable = @[ @"a", @"b", @"c" ];
NSMutableArray *mutable = (__bridge id)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (__bridge CFArrayRef)immutable, kCFPropertyListMutableContainers);
e esse código produznil
como resultado da conversão:
NSArray *immutable = @[ @"a", [NSNull null], @"c" ];
NSMutableArray *mutable = (__bridge id)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (__bridge CFArrayRef)immutable, kCFPropertyListMutableContainers);
Eu tentei encontrar qualquer menção deNSNull
não sendo permitido ao usar esta função. Suspeito que tenha algo a ver com a maneira como o método examina se a propriedade é mutável ou não, mas não posso realmente fazer o mesmo com os fatos.
Alguma ideia?