NSArray out-of-bounds-check
noobie Frage.. Was ist der beste Weg, um zu überprüfen, ob der index eines NSArray oder NSMutableArray vorhanden ist. Ich Suche überall vergebens!!
Dies ist, was ich versucht habe:
if (sections = [arr objectAtIndex:4])
{
/*.....*/
}
oder
sections = [arr objectAtIndex:4]
if (sections == nil)
{
/*.....*/
}
aber beides wirft ein "out of bounds" Fehler, der nicht erlaubt mich weiter zu
(Antworten Sie nicht mit einem try-catch-denn das ist keine Lösung für mich)
Vielen Dank im Voraus
InformationsquelleAutor der Frage spacebiker | 2012-03-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor der Antwort sch
Wenn Sie einen integer-index (z.B.
i
), können Sie generell verhindern, dass dieser Fehler durch die überprüfung des arrays Grenzen, wie diesInformationsquelleAutor der Antwort dplusm
Beachten NSArray ist in Reihenfolge von 0 bis N-1 Elemente
Ihr versuchen zu
access
item
die überschritten Grenzwert und einarray
istnil
dann compiler würde werfen ausbound error
.BEARBEITEN : @sch s Antwort oben zeigt, wie können wir überprüfen, ob NSArray erforderlich bestellten Artikel vorhanden sind, oder nicht.
InformationsquelleAutor der Antwort Paresh Navadiya
Können Sie die
MIN
- operator fehl, wie dies[array objectAtIndex:MIN(i, array.count-1)]
um entweder das nächste Objekt im array oder der Letzte. Kann nützlich sein, wenn Sie zum Beispiel möchten, verketten von strings:Ergebnis: "Einige zufällige array von strings . . . . . "
InformationsquelleAutor der Antwort turingtested