60 Stimmen

Wie überprüft man, ob ein Array null oder leer ist?

Ich möchte überprüfen, ob mein Array leer oder null ist, und basierend darauf möchte ich zum Beispiel eine Bedingung erstellen.

if(array ==  LEER){
//etwas tun
}

Ich hoffe, ich bin klar, was ich frage, muss nur überprüfen, ob mein Array leer ist?

Grüße

4voto

SachinVsSachin Punkte 6312
if (array == (id)[NSNull null] || [array count] == 0) {
    NSLog(@"array ist leer");
}

3voto

Abdul Karim Punkte 3873

Swift 3

Wie in der neuesten Version von Swift 3 die Möglichkeit fehlt, Optionale mit > und < zu vergleichen

Es ist immer noch möglich, Optionale mit == zu vergleichen, also ist der beste Weg zu überprüfen, ob ein optionales Array Werte enthält, wie folgt:

if array?.isEmpty == false {
    print("Es gibt Objekte!")
}

gemäß Array-Zählung

if array?.count ?? 0 > 0 {
    print("Es gibt Objekte!")
}

Es gibt auch andere Möglichkeiten und können hier überprüft werden Link zur Antwort

2voto

Brian Punkte 27876

Da nil auf 0 abgebildet wird, was NEIN entspricht, sollte der eleganteste Weg sein

if (![array count])

der '==' Operator ist nicht notwendig.

1voto

Sie können diesen Test auch mit folgendem Code durchführen: if (nrow>0). Wenn Ihr Datenobjekt nicht formell ein Array ist, kann es besser funktionieren.

1voto

JasonLee Punkte 38

Null und leer sind nicht dasselbe, ich schlage vor, Sie behandeln sie unterschiedlich

if (array == [NSNull null]) {
    NSLog(@"Es ist null");
} else if (array == nil || [array count] == 0) {
     NSLog(@"Es ist leer");
}

0 Stimmen

Könnten Sie bitte den Unterschied zwischen beiden Bedingungen kurz erläutern, in welchem Fall würde man welche aufrufen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X