2015-11-04 70 views
0

当我收到消息时,我将未读消息的用户名和计数写入CoreData。并在此功能的帮助下:如何检测哪个单元格添加徽章?

func unreadMessagesCountBadge(cell: onlineUserCell, forCount count: Int) 

我添加到单元格我的徽章。

但问题是,我不知道如何将这个徽章添加到确切的用户。当我收到消息时,我在日志中看到:

data: { 
    count = 15; 
    username = "[email protected]"; 
} 

那么,我该如何将我的徽章添加到确切单元格?在我的手机上,我只有用户的姓名,而不是用户名。

当我尝试:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> onlineUserCell { 
    let cell:onlineUserCell = self.tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! onlineUserCell 

    unreadMessagesCountBadge(cell, forCount: badgeValue) 
} 

但它增加了我的徽章给所有用户,而不是精确的用户。 Anyideas我该如何解决它?

回答

0

将在tableview中填充的数组中的每个元素都应包含user..so中的一个标识符,您可以在“cellForRow”中检查该用户是哪个用户,并且可以根据该ID从数据库中取出徽章。

0

当您调用该方法时,如果当前正在填充的单元格与应该有徽章的单元格相同,则根本不检查。所以它会在每个单元格上调用。在cellForRowAtIndexPath中,检查cell.userName是否等于数据的电子邮件(无论您将它保存在模型中的哪个位置)。如果是,请致电func unreadMessagesCountBadge(cell: onlineUserCell, forCount count: Int)。无论如何,如果您正在检查cellForRowAtIndexPath中的电子邮件,则不需要此方法中的第一个参数。

相关问题