Bazı koşulların bir NSPredicate dosyasına nasıl “nasıl basamaklandırılacağı” konusunda emin değilim.Bir NSPredicate öğesinin birden çok koşulla yapılandırılması
Oldukça Çekirdek Verilere yeni ve yapmam ne arıyorum ulaşmak için doğru yol olup olmadığından emin değilim. İşte
ben yapmaya çalışıyorum ne:photosTookThere bir tersini olan bir Nesnenin yeri, bir whereTook ilişkisi olan bir Photo nesne yoktur. sırayla
Of Fotoğraf isFavourite adlı bir NSNumber niteliği vardır.
Ben ilk photosTookThere var olduğundan ve eğer öyleyse, her çıkan Foto nesnesini kontrol edip favori olarak ayarlanır sadece olanları dönecektir bir NSFetchRequest yapılandırmak istiyorum. İşte
bugüne kadar kodudur:request.entity = [NSEntityDescription entityForName:@"Location" inManagedObjectContext:context];
request.sortDescriptors = [NSArray arrayWithObject[NSSortDescriptorsortDescriptorWithKey:@"locationId" ascending:YES]];
request.predicate = [NSPredicate predicateWithFormat:@"[email protected] != 0"];
nasıl yüklem içine ikinci koşulu basamakla ve doğru sonuçları dönecekti? Bir SQL deyiminde bir "nerede" koşulunu belirten olsaydı
Teşekkürler, geleceğe yönelik konvansiyonlar hakkında yorum yapacağım - Çekirdek Veriler için yeniyim. Hala olsa bir sorun yaşıyorum: 2011-05-15 17: 52: 24.346 CL Yerler [14321: 207] *** Yakalama dışı istisna 'NSInvalidArgumentException' nedeniyle neden sona erdirme, nedeni: 'keypath isFavourite değil varlık bulundu' Ben isFavourite Fotoğraf nesnesi değil Yer üstünde tutar olduğundan tahmin ediyorum. photosTookThere bir NSSet'dir. Bunun bir NSSet olduğunu ve her grubun üyesineFavourite'ın kontrol edilmesi gerektiğini nasıl anlarım? –
Will
Anladım. Evet sorun şu ki bir argüman konumlar ve diğeri fotoğraflar içindir. Bence ilişkilerin isimlendirilmesi beni mahvediyor. Seni doğru anlarsam, o zaman fotoğraflar için çekeceksin, böylece NSEntityDescription'ın bunu yansıtması gerekir. Yapmak istediğiniz şey, sizin için sorguladığınız konum nesnesine sahip olmaktır. Daha sonra yüklemeyi @ "(neredeTook ==% @) AND (isFavourite ==% @)", [self location], [NSNumber numberWithBool: YES] olarak değiştirirsiniz. Konum nesnesine sahip olduğunuz yerde [self location] ile değiştirilir. Bu yardımcı olur umarım. –
Teşekkürler; Hala biraz rahatsız edici olmakla birlikte, gerçekten bariz bir şeyi kaçırdığımda ek bir arkaplan okuması yapacağım.İlişkileri yeniden isimlendirebilirim, bu yüzden ben de bu sırada uygun sözleşmelere uyuyorlar. – Will