我是 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 众神的祝福。谢谢!