2016-08-01 25 views
0

PFObject compare:options:range error when searching parse.com classiOS 8.4.1 String vergleichen funktioniert, aber in iOS 9.3.2 es funktioniert nicht

Mein Code Link oben ähnlich ist. es wird in IOS 8.4.1 arbeiten, aber es ist in IOS 9.3.2

NSString *name = [NSString stringWithCString:combined_name encoding:NSASCIIStringEncoding]; 
NSComparisonResult result = [name compare : searchText 
            options : (NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch) 
            range : NSMakeRange(0, [searchText length])]; 
if (result == NSOrderedSame) 
{ 
    [self.list addObject:name]; 
} 

In der obigen Code combined_name abstürzt Zeichenfeld. Führe mich.

Ich verwende den obigen Code in der folgenden Methode.

- (void) updateSearchResultsForSearchController:(UISearchController *) searchController 

Absturz genau in der Vergleichsmethode.

Der Screenshot ist

enter image description here

+0

Zeigen Sie das vollständige Crashprotokoll an. – Droppy

+0

Wenn es abstürzt, was ist die Fehlermeldung? – Larme

+0

Ich habe Screenshot beigefügt. genau im Vergleich: Methode. – user3898700

Antwort

0

NSMakeRange (0, [search Länge]) verursacht Problem.

Unten Code funktioniert gut.

NSComparisonResult result = [name compare : searchText 
            options : (NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch) 
            range : [name rangeOfString: searchText options : (NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch)]];