CFPropertyListCreateDeepCopy nie przetwarza tablicy / słownika zawierającego NSNull
Z jakiegoś powodu ten przykładowy kod działa:
NSArray *immutable = @[ @"a", @"b", @"c" ];
NSMutableArray *mutable = (__bridge id)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (__bridge CFArrayRef)immutable, kCFPropertyListMutableContainers);
i ten kod powodujenil
w wyniku konwersji:
NSArray *immutable = @[ @"a", [NSNull null], @"c" ];
NSMutableArray *mutable = (__bridge id)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (__bridge CFArrayRef)immutable, kCFPropertyListMutableContainers);
Próbowałem znaleźć jakąkolwiek wzmiankęNSNull
niedozwolone podczas korzystania z tej funkcji. Podejrzewam, że ma to coś wspólnego ze sposobem, w jaki metoda bada, czy własność jest zmienna, czy nie, ale nie mogę jej potwierdzić faktami.
Jakieś pomysły?