首页 > 解决方案 > MessageKit 中的 messageCollectionView 无法识别

问题描述

我是 Xcode 开发的新手,对 MessageKit 非常陌生。我目前正在关注 iOS Academy 视频,以使我的应用程序的消息传递部分正常工作(顺便说一下很棒的系列视频)。

我已经安装了 MessageKit 可可豆荚(并重新安装了 3 次以确保我做对了),但是我似乎无法使用该messagesCollectionView属性。

我知道它存在,因为首先,教程使用它,其次,经过进一步调查,它是视图控制器的第一个属性

open class MessagesViewController: UIViewController,
UICollectionViewDelegateFlowLayout, UICollectionViewDataSource, UIGestureRecognizerDelegate {

    /// The `MessagesCollectionView` managed by the messages view controller object.
    open var messagesCollectionView = MessagesCollectionView()

    /// The `InputBarAccessoryView` used as the `inputAccessoryView` in the view controller.
    open lazy var messageInputBar = InputBarAccessoryView()

当我开始输入“messagesCollectionView”时,没有自动完成功能,并且我收到一条错误消息,提示无法在范围内找到它。这是我的视图控制器

class ChatViewController: MessagesViewController {
    let currentUser = Sender(senderId: "self",displayName: "Yianni Zavaliagkos")
    let otherUser = Sender(senderId: "other",displayName: "Ezra Taylor")
    
    var messages: [MessageType] = []
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        title = "Chat"
        
        messages.append(Message(sender: currentUser,
                                messageId: "1",
                                sentDate: Date().addingTimeInterval(-86400),
                                kind: .text("Hello World")))
        
        messages.append(Message(sender: otherUser,
                                messageId: "2",
                                sentDate: Date().addingTimeInterval(-70000),
                                kind: .text("How is it going")))
        
        //Errors on these next couple lines
        messagesCollectionView.messagesDataSource = self
        messagesCollectionView.messagesLayoutDelegate = self
        messagesCollectionView.messagesDisplayDelegate = self

    }
    
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(true)
    }


}

是的,我也实现了 MessegesDataSource 和 Layout and Display Delegates。

我的第一个猜测是,我以某种方式错误地安装了可可豆荚,但我已经尝试了所有方法,并希望通过一个简单的解决方案来解决这个令人沮丧的问题,从而得到 StackOverflow 众神的祝福。谢谢!

标签: iosswiftxcodemessagekit

解决方案


推荐阅读