委托和数据源在 MessageKit Swift IOS 中不起作用

Posted

技术标签:

【中文标题】委托和数据源在 MessageKit Swift IOS 中不起作用【英文标题】:Delegate and DataSource not woking in MessageKit Swift IOS 【发布时间】:2021-08-16 21:08:51 【问题描述】:

当我调用 MessageKit 的委托和数据源时,我正在使用 MessageKit 进行聊天(在范围内找不到“messagesCollectionView”),请查看代码并指导我,谢谢。

import UIKit
import FirebaseAuth
import MessageKit

struct Message: MessageType
    var sender: SenderType
    var messageId: String
    var sentDate: Date
    var kind: MessageKind


struct sender: SenderType
    var photo: String
    var senderId: String
    var displayName: String

class ChatDashboard: UIViewController 

    @IBOutlet weak var lblUser: UILabel!
    
    var userActive: String? = nil
    
    
    override func viewDidLoad() 
        super.viewDidLoad()

         messagesCollectionView.messagesDataSource = self
         messagesCollectionView.messagesLayoutDelegate = self
         messagesCollectionView.messagesDisplayDelegate = self //not working delegate and datasource
        if let userData = userActive
            self.lblUser.text = userData
        
        
    
    
    override func viewDidAppear(_ animated: Bool) 
    


【问题讨论】:

没错。您的视图控制器中没有名为 messagesCollectionView 的属性 是的,你是对的 你能告诉我吗?如何正确获取此属性我已经看到直接访问该属性而没有任何警告的教程 好吧,在他们的quick start guide 中,他们是MessagesViewController 的子类,而不是UIViewController,所以这可能是一个开始。 【参考方案1】:

看看他们的示例项目用法。 应该可以消除很多困惑。

链接:https://github.com/MessageKit/MessageKit/tree/master/Example

至于您的疑问,

找不到messagesCollectionView,因为MessagesViewController需要扩展才能访问它。

【讨论】:

以上是关于委托和数据源在 MessageKit Swift IOS 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

MessageKit 不显示消息输入栏 Swift 5

我可以使用 messageKIt 在 swift 5 ios 中创建像这样的自定义单元格吗?

在MessageKit中轻按以放大图像视图-Swift

MessageKit InputBar 在 ViewController 关闭时被隐藏/删除

在单独的文件中设置 UITableView 数据源和委托 - swift

如何在 swift 中使用其他类()委托和数据源函数?