2016-09-08 2 views
-1

타입이 배열 인 요소의 인덱스를 얻으려면 어떻게 알 수 있습니까?타입이 배열 인 indexOf 요소를 얻으십시오

내가 videosArrays 엑스 코드에 videos의 인덱스를 얻을 필요가
var thumbnailImageURL: String? 
var title: String? 
var numberOfViews: NSNumber? 
var uploadDate: NSData? 

이 있습니다 : 예를 들어

, 나는 재산 let videosArrays = [[Video]]() 이 배열 let videos = [Video]()

비디오의 일부 요소가 몇 가지 특성을 가지고 구문 :

<predicate: (Self.Generator.Element) throws -> Bool(Self.Generator.Element) throws -> Bool> 

어떻게 구현할 수 있습니까?

let index = videosArrays.indexOf({ (<#Self.Generator.Element#>) -> Bool in 
      <#code#> 
     }) 

색인을 찾는 방법을 알아낼 수 없습니다.

+0

당신은 당신이 원하는 인덱스를 개체를 지정할 수 있습니다? 어떤 비디오의 –

+0

인덱스? – ozgur

+0

'videosArrays'의 요소 인'index'f'videos'가 필요합니다 – Ilya

답변

1

indexOf, 및 일부 다른 배열 방법을 쉽게 사용할 수 있으려면 개체가 Equatable 프로토콜을 준수해야합니다. 따라서

, 당신은 아마 다음을 수행해야합니다 :

extension Video: Equatable { } 
func ==(lhs: Video, rhs: Video) -> Bool { 
    return lhs.thumbnailImageURL == rhs.thumbnailImageURL && 
     lhs.title == rhs.title && 
     lhs.numberOfViews == rhs.numberOfViews && 
     lhs.uploadDate == rhs.uploadDate 
} 
+0

thanx! 그러나 배열은 어떨까요? 나는 또한 배열 요소를 구성하는 배열을 가지고? 그리고 배열의 배열 요소의 인덱스를 찾을 필요가있다. – Ilya

+0

그런 다음 'indexOf' 클로저를 인수로 취해야한다 : 'videosArray.indexOf {$ 0 == [Video (...)]}' 배열을 원하는 배열에 추가하십시오. – S2dent

+0

이 클로저를 구현하는 방법을 알 수 없습니다 ( – Ilya