2016-07-13 13 views
0

Ich habe ein Array von [myObject] namens myArray und ein myObject Objekt.Prüfen, ob ein Objekt das letzte im Array ist

Ich möchte überprüfen, ob myObject das letzte Objekt in myArray ist.

Was ist der beste Weg, es zu tun?

Ich habe versucht:

if myObject == myArray.last! 

aber es gibt mir diese Fehlermeldung:

Binary operator '==' cannot be applied to two 'myObject' operands 

Jede Idee? Danke!

+0

Haben Sie versucht, "isEqualTo:" Haben Sie getestet, dass beide Objekte vom selben Typ/derselben Klasse sind? –

+2

Welcher Typ ist Ihr Objekt? Entspricht es "Equatable"? – fiks

+1

Ihr Objekt muss Equatable entsprechen. Ich habe ein Beispiel hier: http://stackoverflow.com/a/32953118/2227743 – Moritz

Antwort

-1

Versuchen Sie, dieses könnte Arbeit für Sie sein.

let ary = ["1","2","3"] 

if ary[0].isEqual(ary.last!){ 
    print("Is last object") 
}else{ 
    print("Is Not last object") 
} 

sollte Ihre Ausgabe sein: Ist Nicht zuletzt Objekt

let ary = ["1"] 

if ary[0].isEqual(ary.last!){ 
    print("Is last object") 
}else{ 
    print("Is Not last object") 
} 

Ihr ausgegeben werden soll: Ist letzte Objekt

+0

OP hat ein Array von * Objekten * (zB Klassen- oder Strukturinstanzen), kein Array von Strings. – Moritz

+0

Hier können Sie versuchen, jede Art von Objekt zu vergleichen. – iMHitesh

+0

Nein. Es funktioniert nicht für Klassen-/Strukturinstanzen, wenn sie Equatable nicht entsprechen. Sie sollten den Link lesen, den ich OP gegeben habe ... – Moritz