无法实现 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/"
我正在尝试在我的 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/"