UICollectionView + iOS 7 / Xcode 5 = Assertionsfehler

7

In meiner App gab es ein UICollectionView mit flowLayout und es funktionierte wunderbar in iOS 6, scheitert aber schrecklich in iOS 7. Sobald ich die Ansicht mit meiner UICollectionView betrete, passiert Folgendes:

%Vor%     
self.name 26.09.2013, 16:52
quelle

7 Antworten

12

Als ich auf iOS 7 aktualisiert habe, bin ich darauf gestoßen. Das Problem bestand darin, dass Sie mit Ihrer Datenquelle nicht so explizit sein sollten. Wenn Sie Folgendes haben, entfernen Sie es:

%Vor%     
ZaBlanc 01.10.2013, 17:21
quelle
6

Es stürzt ab, wenn Sie in dieser Funktion nil zurückgeben:

%Vor%

Grundsätzlich ist der einzige Grund, dass Sie nil zurückgeben müssen, wenn die "Sorte" NSString nicht ein Typ ist, den Sie erwarten. In diesem Fall löschen Sie einfach dieses Objekt im Interface Builder. Ich hatte den gleichen Absturz, weil meine Collection-Ansicht im Interface-Builder eine Fußzeile hatte, aber ich rief nicht den registerNib -Code (wie oben beschrieben) an, um eine Fußzeile einzurichten. Ich würde zum viewForSupplementaryElementOfKind kommen und nil zurückgeben, weil es eine Art war, die ich nicht erwartete (was garantiert den Absturz verursacht).

    
MegaJiXiang 28.10.2013 03:39
quelle
1

Sie müssen eine UINib mit Ihrer UICollectionView-Instanz registrieren:

%Vor%

Und erstellen Sie alle Ihre UICollectionViewCell-Instanzen über -[UICollectionView dequeueReusableCellWithReuseIdentifier:forIndexPath:] .

Dieser Kommentar in Apples UICollectionView.h erklärt die Anforderung:

%Vor%     
bneely 27.09.2013 01:30
quelle
1

Ich habe dieses Problem, wie gelöst

Ich denke, Sie könnten überprüfen, ob Sie den Abschnitt Header überprüft haben in der IB-Sammlungsansicht - & gt; Zubehör - & gt; Abschnittsüberschrift

    
xmkevinchen 14.07.2014 22:12
quelle
1

Ich habe dies erhalten, indem ich vergessen habe, meine Klasse auf den korrekten Typ im Interface Builder zu setzen und keine Verkabelung und Steckdosen zu verwenden

    
Adam Waite 30.09.2015 16:50
quelle
0

Sie erhalten diesen Fehler, weil Ihre Sammlung eine Kopfzeile hat. Ich habe das, nachdem ich einen Header in IB hinzugefügt habe. Entfernen Sie die Kopfzeile oder überprüfen Sie die Optionen für Delegate für Kopfzeilen

    
wolffan 12.03.2014 10:57
quelle
0

Stellen Sie sicher, dass Sie die Datenquelle der Sammlungsansicht und den Delegaten festgelegt haben. In meinem Fall wurde dieser Fehler deswegen ausgelöst.

    
Marcos Reboucas 05.11.2015 10:28
quelle