Ich habe ein UICollectionView
, dessen Quelldaten sich manchmal bei Offscreen ändern. Um es zu aktualisieren, wenn es zurückkehrt, schrieb ich in CollectionViewController
:
... und das funktioniert, aber ich brauche nie mehr als ein oder zwei Zellen in meinem UICollectionView
zu aktualisieren, also dachte ich, es wäre besser, wenn ich die obige Version durch folgende ersetzen würde:
... aber wenn ich das tue, gibt Xcode mir einen Fehler, der sagt:
Operand von Postfix '!' sollte optionalen Typ haben, löschen Sie '!' "."
Wenn ich das '!' lösche, heißt das, dass UICollectionView
kein Mitglied namens reloadItemsAtIndexPaths
hat. Was mache ich falsch?
Aus Ihrem Code sieht es so aus, als hätten Sie am Ende Ihre CollectionView als Optional (mit?) deklariert und vielleicht mit einem @IBOutlet mit Ihrem Storyboard verknüpft. Um das Problem zu beheben, sollten Sie die? aus dem:
@IBOutlet var collectionView: UICollectionView?
und ersetze es mit:
@IBOutlet var collectionView: UICollectionView!
Auf diese Weise sagen Sie dem Compiler, dass Ihre CollectionView definitiv existiert (weil Sie sie aus Ihrem Storyboard verlinkt haben).
Alternativ können Sie Ihre CollectionView binden, indem Sie dies tun:
%Vor%Tags und Links ios uicollectionview swift