Index 0 über Grenzen für leere Array-Fehler

8

Ich verstehe nicht, wie man diese Fehlermeldung debuggt:

%Vor%

In diesem Code ist NSMutableArray ... wie ist das möglich?

    
aherlambang 02.02.2011, 03:49
quelle

3 Antworten

29

Sie haben ein leeres Array. Sie haben versucht, [array objectAtIndex:0] aufzurufen. 0 liegt außerhalb der Grenzen eines leeren Arrays (nicht überraschend - irgendetwas ist außerhalb der Grenzen für ein leeres Array).

    
Kevin Ballard 02.02.2011, 03:51
quelle
4

Das bedeutet, dass Sie in [NeighborMapViewController regionFromLocations] versuchen, ein NSMutableArray-Objekt zu indizieren. Dieses Array enthält null Elemente - es ist leer. Aber anscheinend versuchen Sie, auf Index 0 zuzugreifen, was das erste Element wäre. Da es kein erstes Element gibt, erhalten Sie eine Ausnahme.

Wahrscheinlich wurde der Code, der zum Hinzufügen von Elementen zum Array ausgeführt werden soll, noch nicht ausgeführt, oder Sie müssen lediglich die Länge des Arrays überprüfen, bevor Sie versuchen, auf das Element mit Index 0 zuzugreifen. Ohne Worte ist es schwer zu sagen Ich weiß mehr darüber, was du tust.

gdb meldet den Offset als 65 Bytes in der Funktion, also ist es wahrscheinlich in einer der ersten Zeilen. Sie könnten wahrscheinlich den Code der Funktion manuell untersuchen, um einen Haltepunkt in der ersten Zeile der Funktion zu sehen oder zu setzen, und ihn durchlaufen.

    
Josh Petrie 02.02.2011 03:53
quelle
0

Ich sah diesen Fehler jedoch nicht als Ausnahme, sondern nur im Issue Navigator. Die Lösung bestand darin, XCode einfach neu zu starten, dann war der Fehler weg.

    
Lukas Kalinski 11.02.2014 15:55
quelle

Tags und Links