您好,我正在尝试过滤我的联系人,在模拟器xcode中一切都很好,但当我在我的iPhone上尝试它时,我在正则表达式谓词方面遇到了问题。有什么建议吗?非常感谢。
func updateSearchResultsForSearchController(searchController: UISearchController) {
self.filteredContacs.removeAll(keepCapacity: false)
let searchPredcate = NSPredicate(format: "givenName contains[c] %@ OR familyName contains[c] %@",searchController.searchBar.text!)
let array = (self.contacts as NSArray).filteredArrayUsingPredicate(searchPredcate)
self.filteredContacs = array as! [CNContact]
self.tableViewContacts.reloadData()
}发布于 2016-08-05 17:16:45
为此,您可以使用CNContact谓词。
- (NSArray*)searchContactsMatchingName:(NSString*)pSearchName andKeysToFetch:(NSArray*)pKeysToFetch
{
NSError *pError = nil;
NSPredicate *pPredicate = [CNContact predicateForContactsMatchingName:pSearchName];
CNContactStore *pStore = [[CNContactStore alloc] init];
NSArray *pResults = [pStore unifiedContactsMatchingPredicate:pPredicate keysToFetch:pKeysToFetch error:&pError];
return pResults;
}https://stackoverflow.com/questions/36704192
复制相似问题