获取类型为数组的 indexOf 元素

get indexOf element which type is array

我如何弄清楚获取类型为数组的元素的索引?

例如,我有 属性 let videosArrays = [[Video]]() 和这个数组的一些元素 let videos = [Video]()

视频有一些属性:

var thumbnailImageURL: String?
var title: String?
var numberOfViews: NSNumber?
var uploadDate: NSData?

我需要在 videosArrays 中获取 videos 的索引 Xcode 给出了这个语法:

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

我该如何实现?

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

我不知道如何使用它来查找索引。

为了能够方便地使用indexOfcontains和其他一些数组方法,对象必须符合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
}