2011-03-29 16 views
14

NSArrayController ve NSTableView var. ITunes'dan parçalar gösteriyorlar. Listeyi başlığa tıklayarak sıralayabilirim.NSArrayController destekli bir NSTableView sıralama

Tablo görünümü için varsayılan bir sıralama tanımlayıcısı ayarlamanın bir yolu var, böylece kullanıcı uygulamayı her başlatışında albümleri sıralar.

Sıra denetleyicisini dizi denetleyicisine ve tablo görünümüne ayarlamaya çalıştım ancak bu hiçbir şeyi değiştirmiyor.

size

Edit ederiz: cevap doğru. Ama bu bir NSArray ihtiyacı: Eğer dizi kontrolörün sıralama tanımlayıcısı bağlamak istiyorsanız

- (NSArray *)mainSortDescriptor { 

    return [NSArray arrayWithObjects: 
      [NSSortDescriptor sortDescriptorWithKey:@"album" ascending:YES], 
      [NSSortDescriptor sortDescriptorWithKey:@"trackNumber" ascending:YES], 
      nil]; 

}

cevap

13

, bunu şey bağlamak zorundayız. Örneğin, başvurunuz temsilci bu koyabilirsiniz:

- (NSArray *)tracksSortDescriptors { 
    return [NSArray arrayWithObject: 
      [NSSortDescriptor sortDescriptorWithKey:@"albumName" 
              ascending:YES]]; 
} 

Sonra

 
Bind to: MyAppDelegate 
Model Key Path: tracksSortDescriptors 

REDAKTE olarak IB bağlayıcı ayarlayabilirsiniz. Bunu PyObjC'den çevirirken, bir liste döndürdüğümü unuttum. Hata.

+0

Doğru. Benzer bir şey denedim ama işe yaramadı. Şimdi çalışıyor. Teşekkürler – david

+1

@Josh Caswell Aşağıdaki hatayı alıyorum: [ valueForUndefinedKey:]: Bu sınıf, key tracksSortDescriptors için kodlama uyumlu anahtar değer değil. Herhangi bir fikrin var mı? –

+0

@DomVinyard Uygulama temsilcisi yerine görünüm denetleyicisine bağladınız. Sorun değil, sadece view denetleyicinizde 'tracksSortDescriptors 'yöntemini uygulayın. –

5

Bunu denedim, oldukça işe yaramadı - her uygulama başlangıcında başvurdum, ancak uygulama çalışırken.

Sonunda, benim NSArrayController nesnesinde aşağıdaki kutu (! Argh) unticked bulunduğunu fark etti:

"Otomatik yeniden düzenlemek içeriği"

... yani, Bilginize herkese aynı sorun var : kutunun AÇIK olduğundan emin olun :)

İlgili konular