2016-07-13 10 views
0

myArraymyObject 오브젝트라는 배열이 [myObject]입니다.오브젝트가 배열의 마지막인지 확인하십시오.

myObjectmyArray의 마지막 개체인지 확인하고 싶습니다.

가장 좋은 방법은 무엇입니까?

if myObject == myArray.last! 

를하지만 나에게이 오류 제공 :

나는 시도했다

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

어떤 생각을? 감사합니다.

+0

당신이 봤어되어 "isEqualTo을"? 객체가 모두 동일한 유형/클래스로 디버깅 되었습니까? –

+2

개체 유형은 무엇입니까? 'Equatable'을 준수합니까? – fiks

+1

개체가 Equatable을 준수해야합니다. 여기에 예제가 있습니다 : http://stackoverflow.com/a/32953118/2227743 – Moritz

답변

-1

시도해보십시오. 사용할 수 있습니다.

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

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

귀하의 출력은 다음과 같아야합니다

let ary = ["1"] 

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

귀하의 출력을해야 마지막 개체가되지 않습니다 : 마지막 개체

+0

OP에는 문자열 배열이 아닌 * 객체 * (예 : 클래스 또는 struct 인스턴스)의 배열이 있습니다. – Moritz

+0

여기에서는 모든 유형의 객체를 비교해 볼 수 있습니다. – iMHitesh

+0

아니요. 클래스/구조체 인스턴스가 Equatable을 준수하지 않으면 클래스/구조체 인스턴스에 대해 작동하지 않습니다. 내가 OP에 준 링크를 읽어야 해. – Moritz

관련 문제