无法实现 JSQMessagesViewController 所需的方法 Swift 3

Can't implement required methods of JSQMessagesViewController Swift 3

我正在尝试在我的 Swift 3 项目中使用 JSQMessagesVC。它是通过 cocoa pods 安装的,一切看起来都很好。问题是我无法实现 collectionView 方法并且不断出现错误。谁能帮帮我?

导入 UIKit
导入 JSQMessagesViewController

class ChatViewController: JSQMessagesViewController {

    var 消息 = [JSQMessage]()

    重写 func viewDidLoad() {
        super.viewDidLoad()
        collectionView!.delegate = self
        collectionView!.dataSource = self

        collectionView!.collectionViewLayout.incomingAvatarViewSize = CGSize.zero
        collectionView!.collectionViewLayout.outgoingAvatarViewSize = CGSize.zero

    }

    重写 func collectionView(_ collectionView: JSQMessagesCollectionView, messageDataForItemAt indexPath: IndexPath) -> JSQMessageData {
        return 条消息[indexPath.item]
    }

    override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return messages.count
    }

    重写 func collectionView(_ collectionView: JSQMessagesCollectionView!, messageBubbleImageDataForItemAt indexPath: IndexPath!) -> JSQMessageBubbleImageDataSource! {
        让消息 = 消息[indexPath.item] // 1
        如果 message.senderId == 发件人 ID { // 2
            return outgoingBubbleImageView
        } 否则 { // 3
            return incomingBubbleImageView
        }
    }

    重写 func collectionView(_ collectionView: JSQMessagesCollectionView!, avatarImageDataForItemAt indexPath: IndexPath!) -> JSQMessageAvatarImageDataSource! {
        return 无
    }


    懒惰的 var outgoingBubbleImageView: JSQMessagesBubbleImage = self.setupOutgoingBubble()
    懒惰的 var incomingBubbleImageView: JSQMessagesBubbleImage = self.setupIncomingBubble()

    private func setupOutgoingBubble() -> JSQMessagesBubbleImage {
        让 bubbleImageFactory = JSQMessagesBubbleImageFactory()
        return bubbleImageFactory!.outgoingMessagesBubbleImage(with: UIColor.jsq_messageBubbleBlue())
    }

    private func setupIncomingBubble() -> JSQMessagesBubbleImage {
        让 bubbleImageFactory = JSQMessagesBubbleImageFactory()
        return bubbleImageFactory!.incomingMessagesBubbleImage(with: UIColor.jsq_messageBubbleLightGray())
    }




// 覆盖 func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
// //你的逻辑在这里
// }

}

我在编译期间使用脚本来检测一些标签(TODO、FIXME 和 ERROR)。所以,我结合了错误的方法签名和脚本错误检测。

标签="TODO:|FIXME:" 错误标记="ERROR:" 找到“${SRCROOT}”(-name“.h”-或-name“.m”-或-name“.swift”) -打印0 | xargs -0 egrep --with-filename --line-number --only-matching "($TAGS).\$|($ERRORTAG).*\$" | perl -p -e "s/($TAGS)/ warning: $1/" | perl -p -e "s/($ERRORTAG)/ error: $1/"