initialisiert werden Ich bin neu zu UICollectionView
und ich folge einem Tutorial, das ich im Web gefunden habe, aber ich bin auf einen Fehler fest, den ich nicht herausfinden kann. Hier ist ein bisschen Kontext.UICollectionView muss mit einem Nicht-Null-Layout-Parameter
Im Debugger kann ich sehen, was geschieht folgendes:
numberOfSectionsInCollectionView
: genannt wird und ich wieder 1collectionView:numberOfItemsInSection:
genannt wird und ich wieder die Größe des Modells (20)collectionView:layout:sizeForItemAtIndexPath:
für jedes Element im Modell wirdcollectionView:layout:insetForSectionAtIndex:
genannt wirdcollectionView:cellForItemAtIndexPath:
g einmal aufgerufen ets genannt und stürzt auf dieser Linie ...UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MyCell" forIndexPath:indexPath];
mit diesem Fehler ...
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'UICollectionView must be initialized with a non-nil layout parameter'
Wenn ich auf dieser Linie der Ausführung unterbrechen und die Konsole überprüfen, dass es erscheint, ist ein Layout ...
(lldb) po collectionView.collectionViewLayout
(UICollectionViewLayout *) $4 = 0x07180fd0 <UICollectionViewFlowLayout: 0x7180fd0>
der UICollectionView
ist Teil der eine und einzige Szene im Storyboard. In viewController.m gibt es keine anderen UICollectionView
s erstellt auf irgendeine Weise.
Hat jemand irgendwelche Ideen?
Dieser Fehler kommt einstellen, wenn Sie eine neue Kollektion Ansicht mit alloc/init oder neu machen , anstatt ein Layout-Objekt bei der Initialisierung hinzuzufügen. Machen Sie irgendwo eine neue Sammlung? – jrturton
@jrturton Nicht, dass ich weiß. Die UICollectionView ist Teil der einzigen Szene im Storyboard. In viewController.m werden keine UICollectionViews erstellt. Aber ich bin mir nicht sicher, wo das Layout mit der Sammlungsansicht verknüpft wird. –