ios - UITableViewCell 对选择的响应非常慢

标签 ios swift uitableview uikit

我有一个带有基本单元格的简单 UITableViewController。 didSelectRowAtIndexPath 做简单的工作 - 只需制作 UIAlertView 并显示它。

问题是,当我点击一行时,有时我会立即看到警报,有时会在几秒钟后(最多 10 秒)看到警报。

代码是

override func viewDidLoad() {
    super.viewDidLoad()

    tableView.dataSource = self
    tableView.delegate = self
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("reuseIdentifier", forIndexPath: indexPath) as! UITableViewCell
    cell.selectionStyle = UITableViewCellSelectionStyle.None
    // Configure the cell...
    cell.textLabel?.text = "\(indexPath.row)"
    return cell
}


override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    NSLog("row clicked at index \(indexPath.row)")
    let alert = UIAlertView(title: "Test", message: "Test message", delegate: self, cancelButtonTitle: "Done")
    alert.show()
    NSLog("alert showed")
}

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 4
}

在日志中我看到了

2015-08-06 20:51:54.591 experimental[10323:8602172] row clicked at index 2
2015-08-06 20:51:54.595 experimental[10323:8602172] alert showed
2015-08-06 20:52:00.901 experimental[10323:8602172] row clicked at index 3
2015-08-06 20:52:00.905 experimental[10323:8602172] alert showed

但实际上警报并没有显示在屏幕上。

如有任何建议或指出在哪里可以找到解决方案,我们将不胜感激。

最佳答案

解决方案很奇怪

替换

cell.selectionStyle = UITableViewCellSelectionStyle.None

cell.selectionStyle = UITableViewCellSelectionStyle.Default

彻底解决问题。之后每次点击行都会立即显示结果。

关于ios - UITableViewCell 对选择的响应非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31862935/

相关文章:

ios - 根据 Swift Xcode 中的变量将 UI 图像更改为特定图像

ios - Alljoyn 初始化总线附件抛出 EXC_BAD_ACCESS

ios - 如何在Swift3中获取对象类型

ios - UITableViewController 返回到单元格中的下一个文本字段

iphone - 如何获取 UITableViewCell 的总高度?

ios - 在设置 applyPreferredTrackTransform 后从普通 CGImageRef 图像生成格式错误的视频

ios - 使用 afnetworking 2.1.0 实现 "Upload Task for a Multi-Part Request"时出错

ios - 确保我正确解释了嵌套 GCD

Swift - 从 UserDefaults 中检索数据后,TableView 中没有显示数据

ios - 每个自定义单元格内带有 UIScrollView 和 PageControl 的慢速 UITableView