如何指定在 UITableView 中显示哪些单元格?
How to specify which cells to show in UITableView?
目前我有显示联系人列表的 UITableView (names/phone numbers/images),我有来自服务器的 phone 号码列表。
我需要 UITableView 只显示与来自服务器的 phone 号码匹配的联系人。
使用联系人框架导入联系人:
func findContacts() {
let store = CNContactStore()
let keysToFetch = [CNContactFormatter.descriptorForRequiredKeysForStyle(.FullName),
CNContactImageDataKey,
CNContactPhoneNumbersKey]
let fetchRequest = CNContactFetchRequest(keysToFetch: keysToFetch)
do {
try store.enumerateContactsWithFetchRequest(fetchRequest, usingBlock: { (let contact, let stop) -> Void in
//Saves all contacts as [CNContact]
self.contacts.append(contact)
})
}
例如,我得到 phone 个数字
var numberArray = [String]()
var number = contacts[indexPath.row].phoneNumbers
let phoneNumber = number.value as! CNPhoneNumber
numberArray.append(phoneNumber.stringValue)
是否可以指定 tableView 何时应该 return 单元格或者我应该尝试实现 for _ in _
循环?
最好的方法是仅将地址加载到 phone 数字匹配的 table 查看数据模型中 - 因此您应该先过滤从服务器获得的结果,然后再将它们显示在table.
在 enumerateContactsWithFetchRequest
中,您应该检查 phone 号码是否在您从服务器获得的 phone 号码列表中。
否则,您可以使用此答案中提供的方法过滤您的联系人数组:
目前我有显示联系人列表的 UITableView (names/phone numbers/images),我有来自服务器的 phone 号码列表。 我需要 UITableView 只显示与来自服务器的 phone 号码匹配的联系人。 使用联系人框架导入联系人:
func findContacts() {
let store = CNContactStore()
let keysToFetch = [CNContactFormatter.descriptorForRequiredKeysForStyle(.FullName),
CNContactImageDataKey,
CNContactPhoneNumbersKey]
let fetchRequest = CNContactFetchRequest(keysToFetch: keysToFetch)
do {
try store.enumerateContactsWithFetchRequest(fetchRequest, usingBlock: { (let contact, let stop) -> Void in
//Saves all contacts as [CNContact]
self.contacts.append(contact)
})
}
例如,我得到 phone 个数字
var numberArray = [String]()
var number = contacts[indexPath.row].phoneNumbers
let phoneNumber = number.value as! CNPhoneNumber
numberArray.append(phoneNumber.stringValue)
是否可以指定 tableView 何时应该 return 单元格或者我应该尝试实现 for _ in _
循环?
最好的方法是仅将地址加载到 phone 数字匹配的 table 查看数据模型中 - 因此您应该先过滤从服务器获得的结果,然后再将它们显示在table.
在 enumerateContactsWithFetchRequest
中,您应该检查 phone 号码是否在您从服务器获得的 phone 号码列表中。
否则,您可以使用此答案中提供的方法过滤您的联系人数组: