İçinde NSExpression Çekirdek Verileri İle Ayrıcalık Sayımı Şu anda Çekirdek Verilerini Kullanma. Bir tablo içinde ben bu satırlar boyunca bilgi almak için çalışıyorum vardır:NSFetchedResultsController
sonucu bu tür üretmek içinSELECT item, COUNT(*) FROM myTable GROUP BY item;
:
+---------+------+-------+
| item | COUNT(*) |
+---------+------+-------+
| group 1 | 2 |
| group 2 | 5 |
| group 3 | 8 |
+---------+------+-------+
Bir
NSExpression kullanmak parlak fikri vardı
Çekirdek Veriler sahip olmak umuduyla benim için tüm çalışmalarımı yapmak. Tekerleklerimi döndürmeye başlıyorum.
sayımı: ifade işlevi üzerimde çöküyor. Istisna çok açık değil.
toplam: gibi diğer ifade işlevlerinin kullanımı uygulamayı kilitlemez.
Sonuçları NSFetchedResultsController'da saklamak güzel olurdu. Diğer seçenekleri araştırdım, bunların hiçbiri çok çekici değil. Çekirdek Veriyi bu durumda bir SQL sarıcı olarak kullanmak yerine, bir SQL sorgusu yazmak ve onu ele geçirmek daha mantıklı olur mu?
Referans kaynak kodunuz için aşağıda.
NSPropertyDescription'ı eksik görüyordum, bu da NSFetchRequest öğesinin "Group By item" satırını ekleyerek bir SQL Query olarak doğru şekilde yorumlanmasını sağladı. Bu nesnenin yayınlanma sırasında farkında değildim. Cevabını Şubat ayında geri alabilirdim ... lol. Gelecekte bu çözümü kullanmaya karar vermem durumunda, bunu bilmek güzel. Cevabınız takdir edildi. :-) –
Bir not, orijinal yazar gruplama ile bir NSFetchedResultsController kullanarak bahsetti. Ne yazık ki 'setPropertiesToGroupBy' için çalışmanız gereken 'setResultType: NSDictionaryResultType' için izleme değişikliklerini devre dışı bırakmanız gerekiyor. Bkz. Http://stackoverflow.com/a/4361198/287403 –
Hepsini saymak mümkün mü? – Andy