PFObject compare:options:range error when searching parse.com class
我的代码与上面的链接类似。它在iOS 8.4.1中工作,但它在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];
}
在上面的代码中,combined_name是字符数组。指导我。
我在以下方法中使用上面的代码。
- (void) updateSearchResultsForSearchController:(UISearchController *) searchController
在比较方法中完全崩溃。
截图是
答案 0 :(得分:0)
NSMakeRange(0,[searchText length])导致问题。
下面的代码工作正常。
NSComparisonResult result = [name compare : searchText
options : (NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch)
range : [name rangeOfString: searchText options : (NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch)]];