2017-09-26 2 views
0

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?

+0

Veröffentlichen Sie den Code Ihrer 'UICollectionViewDelegate' und' UICollectionViewDataSource' Methoden. – Glenn

+0

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

Antwort

0

Selbstsüchtig mich! : P Ich konnte das Problem beheben, da dies ein dummer Fehler war. Ich rufe showChatView auf: mehrfach, weil ich ein einzelnes Objekt von ChatViewController gemacht habe, aber ich habe vergessen, pushViewController unter eine Kontrolle zu setzen. Und das ist der Grund des Absturzes. Danke