6

मैं एक विधेय है कि विशेष वर्णNSPredicate - iPhone

उदाहरण के लिए शामिल करने के लिए कोशिश कर रहा हूँ:

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

यहाँ मैं सभी घटक जो साथ शुरू होता है हो जाएगा (IDX के लिए मान लीजिए = 5) 'ई'। जैसा कि मुझे अंग्रेजी और फ्रेंच में अपना ऐप करना है, कुछ तत्व 'ओ' या 'ओ' के लिए 'œ' जैसे विशेष चरित्र से शुरू होते हैं। मैं अपने विशेष भविष्य में इन विशेष पात्रों को कैसे शामिल कर सकता हूं?

बेस्ट

उत्तर

10

मैं तुम्हें "विशेषक असंवेदनशील" झंडा कि NSPredicate का समर्थन करता है की तलाश में हो सकता है लगता है। यह "सी" ध्वज जैसा है जिसे आप पहले ही उपयोग कर रहे हैं, सिवाय इसके कि आप "डी" का उपयोग करते हैं। इसलिए जैसा:

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

अब स्ट्रिंग "ई" भी "é", "ई", "ई" से मेल खाएगा, और इतने पर।

+0

धन्यवाद, यह एक आकर्षण की तरह काम करता है ... "को छोड़कर! क्या आपके पास इस के लिए कोई अच्छा समाधान है? अन्यथा, मैं एक अपवाद जोड़ दूंगा। – ncohen

+0

एकमात्र चीज जिसे मैं सोच सकता हूं वह एक यौगिक भविष्यवाणी का उपयोग कर रहा है। "ओ" से मेल खाने के लिए एक और एनएसपीडिकेट बनाएं और दूसरा "œ" से मेल खाता है। फिर उनके साथ मिलकर जुड़ें: '[एनएससीओम्पाउंड क्रेडिट या क्रेडिट WithSubpredicates: [NSArray arrayWithObjects: p1, p2, nil]] '। –

+0

शानदार टिप ... बहुत धन्यवाद। –