SORU
22 HAZİRAN 2009, PAZARTESİ


Objective-C NSMutableArray gelen yinelenen değerleri kaldırmak için en iyi yolu?

Objective-C NSMutableArray değerleri (NSString) yinelenen kaldırmak için en iyi yolu?

Bu en kolay ve doğru şekilde yapmak.

uniquearray = [[NSSet setWithArray:yourarray] allObjects];

CEVAP
22 HAZİRAN 2009, PAZARTESİ


NSSet yaklaşım iyi değilsen merak sipariş nesneler, ama sonra tekrar, eğer sen merak sipariş, o zaman neden değil mi saklamak onları bir NSSet başlangıç için?

Cevap aşağıda 2011, NSOrderedSet Mac OS X, iOS 5 için Apple ekledi 10.7 2009; yazdım. Bir algoritma olmuştu ne şimdi iki satır kodu

NSOrderedSet *orderedSet = [NSOrderedSet orderedSetWithArray:yourArray];
NSArray *arrayWithoutDuplicates = [orderedSet array];

Siparişle ilgili endişeleriniz ve iOS 4 veya daha önce üzerinde çalıştırıyorsanız, dizinin bir kopyasını döngü:

NSArray *copy = [mutableArray copy];
NSInteger index = [copy count] - 1;
for (id object in [copy reverseObjectEnumerator]) {
    if ([mutableArray indexOfObject:object inRange:NSMakeRange(0, index)] != NSNotFound) {
        [mutableArray removeObjectAtIndex:index];
    }
    index--;
}
[copy release];

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Gan Eden Productions

    Gan Eden Pro

    11 HAZİRAN 2011
  • hockeywebcasts

    hockeywebcas

    31 EKİM 2012
  • Ryan Ha

    Ryan Ha

    9 NİSAN 2006