6

Ben özel karakterler ÖrneğinNSPredicate - iPhone

içeren bir yüklemi yapmaya çalışıyorum:

İşte
[[myIngredients filteredSetUsingPredicate:[NSPredicate predicateWithFormat:@"name BEGINSWITH[c] %@", [alphabet objectAtIndex:idx]]]; 

Ben ile başlar tüm madde alacak (IDX için diyelim = 5) 'e'. Uygulamamı ingilizce ve fransızca yapmak zorunda olduğum için, bazı bileşenler 'é' veya 'o' için 'œ' gibi özel karakterlerle başlar. Bu özel karakterleri yüklememe nasıl ekleyebilirim?

En

cevap

10

Sana NSPredicate desteklediğini “aksan duyarsız” bayrak arayan olabileceğini düşünüyorum. Tıpkı zaten kullandığınız "c" bayrağı gibi bir "d" kullanmanız dışında. böylece gibi: Şimdi

… predicateWithFormat:@"name BEGINSWITH[cd] %@", … 

dize “e” de böyle devam “é”, “ê”, “E” eşleşecek ve edecektir.

+0

Teşekkür ederim, bir çekicilik gibi çalışır ... hariç œ! Bunun için güzel bir çözüm var mı? Aksi takdirde, bir istisna ekleyeceğim. – ncohen

+0

Düşünebildiğim tek şey, bileşik bir yüklem kullanıyor. “O” ve diğerine “œ” ile eşleşecek bir NSPredicate oluşturun. Sonra bunlarla birlikte birleştirin: '[NSCompoundPredicate veyaPredicateWithSubpredicates: [NSArray arrayWithObjects: p1, p2, nil]]'. –

+0

Parlak ipucu ... çok teşekkürler. –