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

Jas*_*ira 5 ios jsqmessagesviewcontroller swift3

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

失误

导入UIKit
导入JSQMessagesViewController

类ChatViewController:JSQMessagesViewController {

    var messages = [JSQMessage]()

    覆盖func viewDidLoad(){
        super.viewDidLoad()
        collectionView!.delegate =自我
        collectionView!.dataSource =自我

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

    }

    覆盖func collectionView(_ collectionView:JSQMessagesCollectionView,messageDataForItemAt indexPath:IndexPath)-> JSQMessageData {
        返回消息[indexPath.item]
    }

    覆盖func collectionView(_ collectionView:UICollectionView,numberOfItemsInSection部分:Int)-> Int {
        返回messages.count
    }

    覆盖func collectionView(_ collectionView:JSQMessagesCollectionView !, messageBubbleImageDataForItemAt indexPath:IndexPath!)-> JSQMessageBubbleImageDataSource!{
        let message = messages [indexPath.item] // 1
        如果message.senderId == senderId {// 2
            返回outingBubbleImageView
        } else {// 3
            返回incomingBubbleImageView
        }
    }

    覆盖func collectionView(_ collectionView:JSQMessagesCollectionView !, avatarImageDataForItemAt indexPath:IndexPath!)-> JSQMessageAvatarImageDataSource!{
        返回零
    }


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

    私人功能setupOutgoingBubble()-> JSQMessagesBubbleImage {
        让bubbleImageFactory = JSQMessagesBubbleImageFactory()
        返回bubbleImageFactory!.outgoingMessagesBubbleImage(with:UIColor.jsq_messageBubbleBlue())
    }

    私人功能setupIncomingBubble()-> JSQMessagesBubbleImage {
        让bubbleImageFactory = JSQMessagesBubbleImageFactory()
        返回bubbleImageFactory!.incomingMessagesBubbleImage(with:UIColor.jsq_messageBubbleLightGray())
    }




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

}

Jas*_*ira 4

我在编译过程中使用脚本来检测一些标签(TODO、FIXME 和 ERROR)。因此,我结合了错误的方法签名和脚本错误检测。

TAGS="TODO:|FIXME:" ERRORTAG="ERROR:" 查找 "${SRCROOT}" ( -name " .h" -or -name " .m" -or -name " .swift" ) -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($TAGS). \$|($ERRORTAG).*\$" | perl -p -e "s/($TAGS)/ 警告:\$1/" | perl -p -e "s/($ERRORTAG)/ 错误:\$1/"