Jestem nowy w i podążam za tutorialem znalezionym w Internecie, ale utknąłem na błędzie, którego nie mogę wymyślić. Oto trochę kontekstu.UICollectionView musi zostać zainicjowany z niezerowym parametrem układu
W debugera można zobaczyć, że po dzieje:
numberOfSectionsInCollectionView
: nazywa się i zwraca 1collectionView:numberOfItemsInSection:
nazywa się i powrotu do wielkości modelu (20)collectionView:layout:sizeForItemAtIndexPath:
jest wywoływana raz dla każdego elementu w modelucollectionView:layout:insetForSectionAtIndex:
nazywacollectionView:cellForItemAtIndexPath:
g ETS zadzwonił i zawiesi na tej linii ...UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MyCell" forIndexPath:indexPath];
z tego błędu ...
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'UICollectionView must be initialized with a non-nil layout parameter'
Kiedy wstrzymać wykonanie na tej linii i sprawdź konsoli wydaje się, że jest układ ...
(lldb) po collectionView.collectionViewLayout
(UICollectionViewLayout *) $4 = 0x07180fd0 <UICollectionViewFlowLayout: 0x7180fd0>
UICollectionView
jest częścią jedynej sceny w serii ujęć. W viewController.m nie ma żadnych innych utworzonych przez siebie postaci.
Czy ktoś ma jakieś pomysły?
Błąd ten pojawia się, gdy tworzenia nowego widoku kolekcji za pomocą alokacji/init lub nowy , zamiast dodawać obiekt układu podczas inicjowania. Czy tworzysz nowy widok kolekcji? – jrturton
@jrturton Nie, że wiem. UICollectionView jest częścią jedynej sceny w scenorysie. W viewController.m nie ma żadnych UICollectionViews utworzonych w jakikolwiek sposób. Ale dzięki temu i będąc nowym dla widoków kolekcji, nie jestem pewien, gdzie układ jest powiązany z widokiem kolekcji. –