我想显示用户消息和存储为数组的聊天机器人消息。测试以下代码后,将显示chatbot消息,但不会出现用户消息。谁能解决这个问题。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "customMessageCell", for: indexPath) as! TableViewCell
cell.messages.text = messageArray[indexPath.row].userMessage
cell.messages.text = messageArray[indexPath.row].sundayMessage
return cell
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
print(messageArray.count)
return messageArray.count
}
答案 0 :(得分:0)
此处的后一行替换了前者设置的整个字符串:
cell.messages.text = messageArray[indexPath.row].userMessage
cell.messages.text = messageArray[indexPath.row].sundayMessage
如果您希望这两封邮件都显示在cell.messages
文本中,则可以执行以下操作:
let message = messageArray[indexPath.row]
cell.messages.text = "user: " + message.userMessage + "\nsunday: " + message.sundayMessage
答案 1 :(得分:0)
您需要对模型进行一些更改,以检查您当前收到的消息属于用户类型还是机器人类型。一旦能够弄清楚,就可以使用以下逻辑:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "customMessageCell", for: indexPath) as! TableViewCell
//this is the check you need to have
if messageArray[indexPath.row].userType == "bot"{
cell.messages.text = messageArray[indexPath.row].sundayMessage
}else if messageArray[indexPath.row].userType == "user"{
cell.messages.text = messageArray[indexPath.row].userMessage
}
return cell
}