Ich habe eine Mac OS-Anwendung, die ein Tab-Bar-Design enthält (zB: Tweetbot). Es gibt 4 Registerkarten, die mit 4 verschiedenen View-Controllern verknüpft sind. Der erste View-Controller (siehe Ansicht 1) enthält eine , die 3 Zellen horizontal anzeigt.NSCollectionView Änderungen der Zellenreihenfolge bei Änderung der Ansicht
Das funktioniert alles gut, aber wenn ich zu einem anderen View-Controller wechseln und dann zum ursprünglichen View-Controller zurückkehre, ändert sich die Reihenfolge der Collection-Ansicht ohne Grund. Ich mache keine Änderungen an der Datenquelle (das ist ein NSMutableArray
) und ich bin nicht hinzufügen/Löschen von Zellen, noch rufe ich reloadData
. Ich verstehe nicht, warum sich die Reihenfolge der Sammlungsansichtszellen ständig ändert.
Ich habe einige Tests durchgeführt und kann bestätigen, dass die Reihenfolge der Daten in meiner Datenquelle sich überhaupt nicht ändert. Es macht also keinen Sinn für die Sammlungsansicht, nur die Reihenfolge der Zellen zu ändern.
Ein weiteres seltsames Problem, das ich bemerkt habe, ist, dass dieses Problem nicht auftritt, wenn ich die Sammlungsansicht auf 2 Zellen beschränke. Das lässt mich fragen, ob oder nicht, ist das Problem auf eine Art Caching-Methode, die im Hintergrund läuft? Wenn die Sammlungsansicht eine Zelle recycelt, verwendet sie möglicherweise die falschen Daten ??
Ich habe viele verschiedene Lösungen ausprobiert, nichts scheint zu funktionieren. Hat jemand irgendwelche Ideen, was ich testen/ausprobieren kann, um herauszufinden, was falsch ist?
Alternative Idee
konnte ich NSTableView
stattdessen verwenden, weil es mehrere Spalten unterstützt (im Gegensatz zu UITableView
). Also könnte ich einfach eine NSTableView
mit 3 Spalten machen. Wäre dieser Ansatz eine schlechtere Leistung, als eine (vor allem, wenn ich viele Zellen hinzufügen wollte?).
Danke für Ihre Zeit, Dan.
Zeigen Sie Ihren Code für "itemForRepresentedObjectAt" – brianLikeApple