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?

questionAnswers(1)

yourAnswerToTheQuestion