【发布时间】:2016-02-02 19:49:23
【问题描述】:
好的,所以我正在创建这个视图,将所有联系人带到手机上,我只是将它们添加到一个数组中并在该数组中循环,以便在我的表格视图中创建单元格。问题是,当我滚动时,单元格内容会在索引上发生变化,或者只是从表格中消失。我正在创建我的表格并像这样填充它:
public func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
return Int(numberofContacts)
}
var i = 0
public func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
print(i)
let cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "cell")
if(i < numberofContacts){
cell.textLabel?.text = results[i].givenName + " " + results[i].familyName
}
i++
return cell
}
CNContactStore() 正在检索变量 results 和 numberofContacts 时,该部分工作正常。表格中填充了所有联系人,您可以完美地向下滚动它们,但是一旦单元格滚动出屏幕,您向后滚动时的值将被重新分配。
我还添加了一个功能,当您单击联系人姓名时,您会拨打他们的第一个分配号码,如下所示:
func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
if results[indexPath.row].isKeyAvailable(CNContactPhoneNumbersKey){
let selected = (results[indexPath.row].phoneNumbers[0].value as! CNPhoneNumber).valueForKey("digits") as! String
let urlPhone = NSURL(string: "tel://\(selected)")
UIApplication.sharedApplication().openURL(urlPhone!)
}
}
请帮忙,我不知道我在哪里搞砸了。谢谢。
【问题讨论】:
标签: ios xcode swift uitableview swift2