एक UISearchBarController
की मेरी वर्तमान कार्यान्वयन में मैं [NSString compare:]
उपयोग कर रहा हूँ filterContentForSearchText:scope:
प्रतिनिधि विधि के अंदर परिणाम UITableView
के लिए उनके नाम संपत्ति के आधार पर संबंधित वस्तुओं वापस जाने के लिए के रूप में आप लिखना शुरू में एक ग्राफ़ीम क्लस्टर के भीतर की तुलना करें।खोजें या कोरियाई
अब तक यह अंग्रेजी और कोरियाई में बहुत अच्छा काम करता है, लेकिन मैं जो करने में सक्षम होना चाहता हूं वह NSString
के परिभाषित चरित्र क्लस्टर के भीतर खोज है। यह केवल कुछ भाषाओं के लिए लागू है, जिनमें से कोरियाई एक है।
अंग्रेजी में, compare:
आपके द्वारा दर्ज किए गए प्रत्येक पत्र के बाद नए परिणाम लौटाता है, लेकिन कोरियाई में परिणाम एक मान्यता प्राप्त ग्रैफेम क्लस्टर पूरा करने के बाद उत्पन्न होते हैं। मैं अपने कोरियाई ऑब्जेक्ट्स नाम संपत्ति के माध्यम से अलग-अलग तत्वों के माध्यम से खोज करने में सक्षम होना चाहता हूं जो एक अक्षर बनाते हैं।
क्या कोई इस बात से कैसे कोई प्रकाश डाल सकता है? मुझे यकीन है कि यूटीएफ 16 अक्षरों के माध्यम से मैन्युअल रूप से, या निचले स्तर की कक्षा का उपयोग करके इसे करने के लिए कुछ करना है।
चीयर्स!
`NSString *string1 = @"이";
`NSString *string2 = @"ㅣ";
NSRange resultRange = [[string1 decomposedStringWithCanonicalMapping] rangeOfString: [string2 decomposedStringWithCanonicalMapping] options:(NSLiteralSearch)];
परिणाम हमेशा NSNotFound है, के साथ या बिना decomposedStringWithCanonicalMapping
:
यहाँ एक विशिष्ट उदाहरण है कि अभी काम नहीं कर रहा है।
कोई विचार?
लॉरेंस, वह जानकारी शानदार है। कोरियाई में आईफोन एप्स हैं जो ऐसा करने लगते हैं जो मैं कोशिश कर रहा हूं; लेकिन मुझे लगता है कि मैं गलत धारणा के तहत था कि यूटीएफ 8/16 में कोरियाई कैसे संग्रहीत किया जाता है। आपके उत्तर के लिए धन्यवाद, यह निश्चित रूप से मेरी क्वेरी पर कुछ प्रकाश डाला है। – Jessedc
आपकी मदद के लिए धन्यवाद लॉरेंस, मैंने आपका जवाब स्वीकार कर लिया है; यह सही दिशा में एक महान कदम था। – Jessedc