5

मैं localizedStandardCompare: का उपयोग कर, जो मुझे वस्तुओं सही, स्थानीय क्रम में सॉर्ट देता है द्वारा एक सरणी छँटाई कर रहा हूँ किया localizedStandardCompare द्वारा इस्तेमाल किया स्ट्रिंग मिलता है। अब मैं उन्हें index में UITableView के लिए उपयोग करना चाहता हूं, जिसका अर्थ है कि मुझे सेक्शन टाइटल बनाने की आवश्यकता है। चूंकि localizedStandardCompare: उन्हें स्थानांतरित करता है, इसलिए "Æ" से शुरू होने वाली स्ट्रिंग को ऑब्जेक्ट्स के साथ क्रमबद्ध किया जाता है।जब यह एक तुलना

तो यदि मैं सरणी को पुन: सक्रिय करता हूं और प्रत्येक प्रथम अक्षर के लिए एक अनुभाग बना देता हूं, तो मुझे अनुभाग "ए", "Æ", "ए", "बी" आदि मिलेंगे। क्या स्ट्रिंग प्राप्त करने का कोई तरीका है इसका उपयोग तुलना के लिए किया गया था, या कम से कम इसे अनुकरण? मैंने अलग-अलग एन्कोडिंग के साथ कनवर्ट करने का प्रयास किया है, लेकिन कोई भी मुझे "ए" के लिए "ए" वापस नहीं करेगा।

कैसे स्थानीय स्ट्रिंग्स के लिए खंड शीर्षक उत्पन्न करने के लिए के लिए कोई अन्य सुझाव?

+2

मुझे यकीन है कि यह कैसे लागू करने के लिए नहीं कर रहा हूँ, लेकिन आप बाहर की जाँच कर ली 'UILocalizedIndexedCollation'? लिंक: http://developer.apple.com/library/ios/#documentation/iPhone/Reference/UILocalizedIndexedCollation_Class/UILocalizedIndexedCollation.html –

+0

धन्यवाद! मैंने कभी उस वर्ग को कभी नहीं देखा होगा और ऐसा लगता है कि मुझे क्या चाहिए। –

+3

यदि यह आपके लिए काम करता है, तो कृपया इसे उत्तर के रूप में पोस्ट करें और इसे स्वीकार किए जाने के रूप में चिह्नित करें ताकि यह प्रश्न अनुत्तरित नहीं दिखाई दे और उसी समस्या वाले अन्य लोगों को समाधान आसानी से मिल सके। – Greg

उत्तर

0

आप इस्तेमाल किया स्ट्रिंग पाने के लिए CFStringTransform विधि का उपयोग कर सकते हैं।

उदाहरण के लिए kCFStringTransformToLatin मान का उपयोग इनपुट स्ट्रिंग से एक सरल लैटिन स्ट्रिंग प्राप्त करने के लिए।

यह वास्तव में localizedStandardCompare: विधि के रूप में बिल्कुल व्यवहार नहीं करेगा, लेकिन आप स्ट्रिंग ट्रांसफॉर्म का उपयोग उस ऑब्जेक्ट के लिए अतिरिक्त विशेषता उत्पन्न करने के लिए कर सकते हैं जिसका उपयोग आप वास्तविक सॉर्टिंग के लिए करते हैं।

इस विषय के बारे में कई अच्छे संसाधन हैं:

संबंधित मुद्दे