- [NSKeyedUnarchiver initForReadingWithData:]: Daten sind leer; hast du vergessen, -finishEncoding an den NSKeyedArchiver zu senden?

9

Ich erhalte diese Warnung nur für mein erstes Element in einer Tabellenansicht, sobald ich in die "Drilldown" -Ansicht einer Kerndaten-App gehe.

hat jemand sonst diese Warnung?

- [NSKeyedUnarchiver initForReadingWithData:]: Daten sind leer; hast du vergessen, -finishEncoding an den NSKeyedArchiver zu senden?

Danke

    
George Asda 02.09.2014, 10:03
quelle

3 Antworten

0

Xcode 7.2.1, iOS 9.2.1, ARC aktiviert

Überprüfen Sie, ob das NSData-Objekt, das Sie zum Speichern von Daten verwenden, nicht freigegeben wird, bevor auf es zugegriffen wird. Sie müssen dies an der Stelle überprüfen, an der auf die Daten zugegriffen wird, nicht in Ihrem View-Controller oder sonst wo.

  

- [NSKeyedUnarchiver initForReadingWithData:]: Daten sind leer; hast du vergessen, -finishEncoding an den NSKeyedArchiver zu senden?

Diese Warnung wird ausgelöst, wenn das NSData-Objekt leer ist. Der sicherste Weg, um zu überprüfen, ob es ist oder nicht, ist [yourDataObject length] zu verwenden und sicherzustellen, dass es nicht Null ist.

Hoffe, das hilft! Prost.

    
serge-k 02.03.2016 19:03
quelle
0

Sobald ich dieses Problem hatte, ist es Ursache von ...

%Vor%

In iOS8.

jetzt xCode8.1 wird Ihnen sagen

  

* Beenden der App aufgrund der nicht abgefangenen Ausnahme 'NSRangeException', Grund: '* - [__ NSCFConstantString substringToIndex:]: Index 4 außerhalb der Grenzen; Stringlänge 2 '

    
Stark 13.01.2017 06:21
quelle
-1

Es scheint, dass Sie versuchen, von einem leeren Datenobjekt zu lesen.

Vielleicht initialisieren Sie Ihre Daten vorher als [NSData-Daten] oder Ihre gespeicherten Daten sind leer.

    
malex 28.10.2014 13:43
quelle

Tags und Links