Я пытаюсь сделать чат-приложение. У меня есть логин и часть интерфейса чата, но когда я пытаюсь настроить чат с помощью функции collectionView(collectionView: JSQMessagesCollectionView!, messageDataForItemAtIndexPath indexPath: NSIndexPath!) -> JSQMessageData
, он дает мне ошибку «Невозможно преобразовать возвращаемое выражение типа [JSQMessage] для ввода JSQMessageData!»Swift 2.2, Firebase, JSQMessagesViewController - Невозможно преобразовать возвращаемое выражение типа [JSQMessage] для ввода JSQMessageData
Вот мой код MessagesViewController:
import UIKit
import JSQMessagesViewController
import Firebase
class MessagesViewController: JSQMessagesViewController {
override func collectionView(collectionView: JSQMessagesCollectionView!,
messageDataForItemAtIndexPath indexPath: NSIndexPath!) -> JSQMessageData! {
return message[indexPath.item].userMessages
}
override func collectionView(collectionView: UICollectionView,
numberOfItemsInSection section: Int) -> Int {
return message.count
}
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.hidesBackButton = false
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
}
Вот код для моих пользовательских классов сообщений:
import Foundation
import JSQMessagesViewController
import Firebase
class Messages {
dynamic var user = FIRAuth.auth()?.currentUser?.uid
dynamic var addedUsers = [String]()
dynamic var userMessages = [JSQMessage]()
dynamic var messageDates = [NSDate]()
}
Сообщения массива является var message = [Messages]()
Что такое моя ошибка, Заранее спасибо.
Я думаю, что должно быть должно быть возвращено сообщение [indexPath.item] –