मैं एक searchDisplayController
जो पूरी तरह से काम करता है जब अंग्रेजी और अरबी शब्द के लिए खोज के रूप में निम्नानुसार एक विधि का उपयोग किया है:searchDisplayController परिणामों को प्रदर्शित नहीं करता है तो iphone भाषा गैर है अंग्रेजी
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSInteger)scope
{
NSString *query = self.searchDisplayController.searchBar.text;
if (query && query.length) {
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ClientName contains[cd] %@", query];
[searchResultController_.fetchRequest setPredicate:predicate];
}
NSError *error = nil;
if (![[self searchResultController] performFetch:&error]) {
// Handle error
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
exit(-1); // Fail
}
}
बहरहाल, यह अगर iphone ठीक काम करता है भाषा अंग्रेजी है, लेकिन अगर मैं आईफोन भाषा को अरबी (वैश्विक सेटिंग्स) में बदलता हूं और अरबी या अंग्रेजी शब्दों में खोज करने की कोशिश करता हूं तो searchResultsController
परिणाम प्रदर्शित नहीं करेगा, क्यों?
पेज। जब मैं इस तरह क्वेरी में एक स्थिर अरबी शब्द डाल: NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ClientName contains[cd] %@", @"تجريب"];
searchDisplayController
अरबी शब्द के सही परिणाम प्रदर्शित करेगा تجريب
संपादित करें:
NSExpression *clientNameEx=[NSExpression expressionForKeyPath:@"ClientName"];
NSExpression *aClientEx=[NSExpression expressionForConstantValue:query];
NSPredicate *predicate=[NSComparisonPredicate predicateWithLeftExpression:clientNameEx
rightExpression:aClientEx
modifier:NSDirectPredicateModifier
type:NSContainsPredicateOperatorType
options:0];
: मैं इस तरह कोड में विधेय का निर्माण करने की कोशिश की है
लेकिन कोई लाभ नहीं हुआ ...
खोजबार में टेक्स्ट के बजाय searchText का उपयोग करें। और कृपया, NSLog() को खोज टेक्स्ट में प्राप्त स्ट्रिंग और शाब्दिक स्ट्रिंग के साथ तुलना करें जो ठीक है, जैसा कि आप अपने पी में कहते हैं। तो हम जानते होंगे कि समस्या उस स्ट्रिंग के साथ है या नहीं। – Gabriel
मैंने यह किया है, एनएसएलओजी पीएच में एक ही शाब्दिक अरबी स्ट्रिंग दिखाता है। मेरे प्रश्न का खंड, लेकिन जो मुझे पागल बनाता है वह यह है कि परिणाम खाली है !! – JAHelia
और यदि आप दोनों तारों की तुलना '[@ "تجريب" तुलना करें: searchText]' से करें? यह वापस क्या करता है? NSOrderSame? – Gabriel