मैं एक प्रकार के वर्णनकर्ता के साथ एक fetch अनुरोध के परिणाम क्रमबद्ध कर रहा हूँ।nspredicate का उपयोग कर गैर-अंग्रेजी तारों को कैसे क्रमबद्ध करें?
NSFetchRequest* req = [[NSFetchRequest alloc] initWithEntityName:[MyEntity entityName]];
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"property"
ascending:YES
selector:@selector(localizedCompare:)];
req.sortDescriptors = [NSArray arrayWithObject:descriptor];
return [self.managedObjectContext executeFetchRequest:req error:nil];
समस्या शब्द है, जो की तरह 'मैं' सूची के अंत में सूचीबद्ध हैं गैर अंग्रेजी वर्ण के साथ शुरू होता है। यह एक तुर्की पत्र है और वर्णमाला इस तरह दिखता है:
ए, बी, सी, Ç, डी, ई, एफ, जी, Ğ, एच, आई, आई, जे, के, एल, एम, एन, ओ, ओ, पी, आर, एस, एस, टी, यू, Ü, वी, वाई, जेड
तो पत्र 12 वें स्थान पर है।
मुझे नहीं पता कि वस्तुओं का काम करने के बाद तुलनित्र का उपयोग क्यों किया जाता है। तो यह किसी भी सरणी पर काम करता है लेकिन अनुरोध अनुरोध के लिए क्रमबद्ध वर्णनकर्ता के साथ नहीं।
यह यह की वजह उपयोगकर्ताओं भाषा
निम्नलिखित सामग्री के साथ
NSString
पर एक वर्ग बनाने का प्रयास करें के आधार पर एक साफNSLocale
बनाने के लिए आवश्यक है काम नहीं किया मैंने सिम्युलेटर की भाषा बदलने की भी कोशिश की। – Mertयह अजीब बात है। अगर मैं '[myArray sortedArrayUsingSelector: @selector (localizedcompare :)]' के साथ एक सरणी सॉर्ट करता हूं तो मुझे सही परिणाम मिलते हैं। क्या आप कोड दिखा सकते हैं कि आप fetch अनुरोध कैसे सेट करते हैं? –
मैंने अपना प्रश्न संपादित किया और कोड – Mert