NSSet'ten NSMutableArray nasıl döndürülür


104

Bir içeriğini koymak mümkün değilim NSSetbir içine NSMutableArrayböyle:

NSMutableArray *array = [set allObjects];

[Set allObjects] bir NSArraynot döndürdüğü için derleyici şikayet ediyor NSMutableArray. Bu nasıl düzeltilmelidir?

Yanıtlar:


218

Yana -allObjectsgetiriler bir dizi, bir değişken sürümünü ile oluşturabilirsiniz:

NSMutableArray *array = [NSMutableArray arrayWithArray:[set allObjects]];

Veya alternatif olarak, nesne sahipliğini işlemek istiyorsanız:

NSMutableArray *array = [[set allObjects] mutableCopy];

7
Not: Eğer öyleyse set, iki yöntem arasında ince bir fark vardır nil.
Zach Langley

-1

Ben kullanarak çökmesini çözüme NSMutableArray en tüm atamak yöntemi 'addObjectsFromArray' NSSet itiraz NSMutableArray gibi:

[mutableArray addObjectsFromArray:[cg_Schedule.schedule_Days allObjects]];

Umarım bu size yardımcı olur.


-3

Sıralı bir set kullanımı için:

NSArray *myArray = [[myOrderedSet array] mutableCopy];

Bir NSSet - arrayyöntemi görünmüyor .
Sophie Alpert
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.