içeren dizi/sözlüğünü işlemek başarısız:CFPropertyListCreateDeepCopy Bu örnek kod çalışır Nedense NSNull
NSArray *immutable = @[ @"a", @"b", @"c" ];
NSMutableArray *mutable = (__bridge id)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (__bridge CFArrayRef)immutable, kCFPropertyListMutableContainers);
ve bu kod dönüşüm sonucunda nil
üretir: Ben bulmaya çalıştım
NSArray *immutable = @[ @"a", [NSNull null], @"c" ];
NSMutableArray *mutable = (__bridge id)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (__bridge CFArrayRef)immutable, kCFPropertyListMutableContainers);
Bu işlevi kullanırken NSNull
numaralı telefona herhangi bir şekilde izin verilmez. Yöntemin mülkün değişebilir olup olmadığını incelediğine dair bir şeye sahip olduğumdan şüphe duyuyorum, ama bunu gerçeklerle destekleyemem.
Herhangi bir fikrin var mı?
Null değeri kabul etmek için bir alternatif veya bir çözüm biliyor musunuz, çünkü bazı yerlerde null olan bir JSON API'sinden veri kullanıyoruz. Bu kaynağa göre – Sathvik
http://www.opensource.apple.com/source/CF/CF-1153.18/CFPropertyList.c (CFPropertyListRef CFPropertyListCreateDeepCopy için arama) oldukça olası değildir. Belki veri kümenizde karşılaşılması muhtemel olmayan önceden tanımlanmış sabit ile null değiştirmeyi deneyebilirsiniz? –