小编Joe*_*sta的帖子

快速的tableview重新加载数据问题-自定义单元中缺少元素

我是iOS编程的新手,我使用的语言是Xcode 6.0.1中的Swift。我目前正在我的应用程序中实现聊天功能。我已经使用Web套接字从服务器发送/接收消息,并且工作正常。我遇到的问题是显示已发送/已接收的消息。

我创建了一个UIViewController,它具有一个表格视图,一个文本字段和用于发送消息的按钮。我已经应用了所有必要的约束以适应自动布局,并实现了所需的委托。每次用户发送/接收消息时,都会向数据源(字符串数组)中添加一个新的消息字符串,然后调用:

self.tableView.reloadData
Run Code Online (Sandbox Code Playgroud)

该表由自定义单元格组成,视图中带有图像和标签。几次发送/接收工作正常,但是一段时间后,表格视图混乱,仅保留自定义单元格内的图像,如该图像所示图片

这是我的cellForRowAtIndexPath的代码:

func tableView(tableView: UITableView,cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell

{
    var cell: customMessageCell = self.tableView.dequeueReusableCellWithIdentifier(cellIdentifier ,forIndexPath: indexPath) as customMessageCell

    if(messages[indexPath.row].contains("Fiona")){
        cell.myAvatar.hidden = true
        cell.myMessage.hidden = true
        cell.myMessageBubble.hidden = true

        cell.yourMessage.text = messages[indexPath.row]
        cell.yourAvatar.hidden = false
    }else{
        cell.yourAvatar.hidden = true
        cell.yourMessage.hidden = true
        cell.yourMessageBubble.hidden = true

        cell.myMessage.text = messages[indexPath.row]
        cell.myAvatar.hidden = false
    }

    cell.selectionStyle = UITableViewCellSelectionStyle.None
    return cell
}
Run Code Online (Sandbox Code Playgroud)

我已经检查了消息数组实际上是否在增加,但是当我在表视图中重新加载数据时,就会出现问题。我该如何解决?这是在表中插入新单元格而不是(添加到数据源+重新加载表)更好的方法吗?谢谢!

iphone uitableview ios swift xcode6

0
推荐指数
1
解决办法
3840
查看次数

标签 统计

ios ×1

iphone ×1

swift ×1

uitableview ×1

xcode6 ×1