【问题标题】:How to detect cell for adding badge on it?如何检测单元格以在其上添加徽章?
【发布时间】:2015-11-03 13:05:24
【问题描述】:

我有一个函数,可以在单元格上添加徽章:

unreadMessagesCountBadge(cell, forCount: messagesCount)

但我不知道,如何检测单元格上添加此徽章需要什么?

例如,我有一个用户列表,我的一个联系人向我发送了一条消息。如何检测此单元格,在此联系人附近添加我的徽章1

更新

我检测到在另一个文件中收到了新消息,我需要从那里调用此函数并在我的cellForRowAtIndexPath 中更新。我很困惑=/

【问题讨论】:

  • 在用户列表中创建一个徽章属性。将您的徽章添加到其中并刷新表格视图。还要处理 cellForRowAtIndexPath: 中的 badge 属性。
  • 还有一个问题,你刚刚触及了这个话题。如何更新我的tableView?当我做reloadData( ) 时,它对我没有帮助。所以,我需要更换我的控制器并返回查看我的徽章。关于这个问题的任何想法? @x4h1d
  • 如果您正确处理cellForRowAtIndexPath 中的更新数据,reloadData( ) 应该可以正常工作。更改viewcontroller,只是为了刷新表格视图,这将是荒谬的。如果您的重新加载不起作用,请检查 cellForRowAtIndexPath 方法。放置断点并调试。
  • @x4h1d 我已经更新了我的问题。请阅读
  • 我认为您应该使用 singleton 类来处理数据,正如您在更新中所说的那样,数据是在不同的视图控制器和/或类中操作的。创建一个单例模型类。单身help。或者您可以通过NSNotificationCenter 调用另一个类中的方法,这些方法彼此没有连接。

标签: ios swift uitableview logic badge


【解决方案1】:

为什么在你的 tableView 上使用reloadData() 对你没有帮助? 你是从主线程调用它吗?您可以强制从主线程调用:

dispatch_async(dispatch_get_main_queue(),{
  self.tableView.reloadData()
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    相关资源
    最近更新 更多