斯威夫特:' =='不能在两个Equatable操作数之间应用

时间:2015-08-01 19:17:26

标签: arrays swift generics equatable

我使用的是Swift 1.2,我很难理解为什么这个扩展无法编译。我必须遗漏一些东西 - T是Equatable,因此我认为我应该可以通过' =='进行比较。操作

extension Array {
    func indexOf<T:Equatable>(element: T?) -> Int?
    {
        if element != nil {
            for (var i = 0; i < self.count; i++)
            {
                var val = self[i]
                if val == element! { // Error: Binary operator '==' cannot be applied to two T operands
                    return i
                }
            }
        }

        return nil
    }
}

0 个答案:

没有答案