Unten Funktionsaufruf generieren Thread 1: EXC_BREAKPOINT (Code = 1, Subcode = 0x189d35a80).CollectionView generiert SIGABRT auf pushViewController
func showChatView(message: ChatMessage) {
DispatchQueue.main.async {
if self.chatViewController == nil {
let mainStoryboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
self.chatViewController = mainStoryboard.instantiateViewController(withIdentifier: "VAChatViewController") as? VAChatViewController
self.chatViewController?.delegate = self;
}
self.chatViewController?.messages += [message]
self.navigationController?.pushViewController(self.chatViewController!, animated: true, completion: {
let buttonMessage = self.chatViewController?.messages.last
let hasButtons = buttonMessage?.hasButtons
if hasButtons! {
let vaButtonModel = ChatMessage(buttons: buttonMessage?.buttons)
self.chatViewController?.addNewMessage(vaButtonModel)
}
})
}
}
Noch eine Sache- VAChatViewController implementiert Kollektion eingehende Chat-Ereignisse anzuzeigen, die eine Antwort auf eine Zeichenfolge Nachricht „xyz“ ist. In CollectionView-Delegaten erhalte ich das Array [count]> 0, aber es ruft nicht den collectionView: cellForItemAt nach numberOfItems auf und stürzt mit SIGABRT ab, gefolgt von dem obigen Absturz. Irgendeine Idee?
Veröffentlichen Sie den Code Ihrer 'UICollectionViewDelegate' und' UICollectionViewDataSource' Methoden. – Glenn
Nur die Datenquelle ist implementiert! numberOfItemsInSection und cellForItemAt: func Kollektion (_ Collection: UICollectionView, numberOfItemsInSection Abschnitt: Int) -> Int { return messages.count } lassen message = self.messages [indexPath.item] Schalter message.messageType { Fall .chatContent: let cell = collectionView.dequeueReusableCell (withReuseIdentifier: "ChatCollectionCell", für: indexPath) as! ChatCollectionViewCell cell.setupWithMessage (Nachricht) Rückgabezelle – Tarun