2016-11-24 3 views
0

Mein Code:FEHLER: Versuch Artikel 0 in Abschnitt einzufügen 0, aber es gibt nur 0 Produkte in Abschnitt 0 nach dem Update

DataService.dataService.fetchDataFromServer { (channel) in 
     self.channels.append(channel) 
     let indexPath = IndexPath(item: self.channels.count - 1, section: 0) 
     self.collectionView?.insertItems(at: [indexPath]) 
    } 

Abrufen von Daten vom Server Funktion:

func fetchDataFromServer(callBack: @escaping (Channel) ->()) { 
     DataService.dataService.CHANNEL_REF.observe(.childAdded, with: { (snapshot) in 
      let channel = Channel(key: snapshot.key, snapshot: snapshot.value as! Dictionary<String, AnyObject>) 
      callBack(channel) 
     }) 
    } 

Nummer von Artikel Abschnitt:

override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
    // #warning Incomplete implementation, return the number of items 
    return 0 
} 

der vollständige Fehler:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'attempt to insert item 0 into section 0, but there are only 0 items in section 0 after the update' 

Ich arbeite mit einer Sammlungsansicht und habe keine Ahnung, warum dieser Fehler angezeigt wird.

Jede Hilfe wäre willkommen!

+0

Zeigen Sie Ihre 'numberOfItemsInSection' Methode – Paulw11

+0

einfach hinzugefügt werden. Sieh es dir an! –

+0

Sie geben 0 zurück. Wahrscheinlich möchten Sie 'self.channels.count' zurückgeben. – Paulw11

Antwort

2

Ihre gibt 0 zurück. Wenn Sie also der Sammlungsansicht mitteilen, dass Sie ein Objekt hinzufügen, wird es ärgerlich, wenn diese Methode angibt, dass immer noch 0 Objekte in der Sammlung sind.

Ihr Code hat sogar einen Kommentar // #warning Incomplete implementation, return the number of items

Sie wollen wahrscheinlich so etwas wie:

override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 

    return self.channels.count 
} 
+0

Nein, das ist die Lösung für das Problem, das Sie basierend auf aufgelistet die von Ihnen angegebenen Informationen. Erhalten Sie immer noch die gleiche Ausnahme? – Paulw11

+0

ja ich bekomme immer noch den gleichen Fehler, also hat es nicht funktioniert, hast du eine andere Lösung, Entschuldigung für die Formulierung meiner Kommentar schlecht –

+1

Wie gesagt, ich kann nichts anderes vorschlagen, was Sie gezeigt haben, aber es ist ziemlich möglich, dass Sie keine anderen Dinge basierend auf dem Code in "numberOfItemsInSection" eingerichtet haben – Paulw11

Verwandte Themen