是否有任何理由为啥我的 UITableViewCell 的覆盖 setHighlighted 不会被调用但 UITableViewDelegate 方法会?

Posted

技术标签:

【中文标题】是否有任何理由为啥我的 UITableViewCell 的覆盖 setHighlighted 不会被调用但 UITableViewDelegate 方法会?【英文标题】:Is there any reason why my overriden setHighlighted for a UITableViewCell would not get called but the UITableViewDelegate method does?是否有任何理由为什么我的 UITableViewCell 的覆盖 setHighlighted 不会被调用但 UITableViewDelegate 方法会? 【发布时间】:2015-07-09 21:05:46 【问题描述】:

在 Swift 中,我重写了单元格的 highlighted 属性以更改它在突出显示时的外观,但是当我点击它时它永远不会被调用。

override var highlighted: Bool 
    didSet 
        println("called")
    

但是,被调用的UITableViewDelegate 方法didHighlightCellAtIndexPath 每次都会被调用。

这怎么可能?

【问题讨论】:

【参考方案1】:

确保UITableView 实际填充了UITableViewCell 子类 的实例。也就是说,确保 tableView(_:cellForRowAtIndexPath:) 实际上返回了您的 UITableViewCell 子类的对象。如果不是,则永远不会使用该属性覆盖。

【讨论】:

是的,我查过了,确实如此。 @DougSmith 嗯,好吧。是否有可能看到您项目的(可能简化的)副本?

以上是关于是否有任何理由为啥我的 UITableViewCell 的覆盖 setHighlighted 不会被调用但 UITableViewDelegate 方法会?的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个结构不打包?

是否有任何理由使用 (nr & 1 == 0) 而不是 (nr % 2 == 0) 来检查奇偶校验?

是否有任何理由锁定队列?

在我的 iOS 应用程序中,是不是有任何理由为会话 cookie 设置 HttpOnly 和 Secure 标志?

为啥我应该在我的代码中尽量减少系统调用的使用?

是否有任何理由继续使用 IntentService 处理 GCM 消息?