在Swift中传递和转换对象类型

时间:2016-09-28 19:33:59

标签: ios parameters casting swift3

class TEST1 : NSObject  {

var name : String?
}
class TEST2 : NSObject  {

var name : String?
}
func compareObjects<T>(array1: [NSObject], array2: [NSObject], type:T.Type)  {

for objectA in array1  {
    let x = objectA as! T
    for objectB in array2{
        let y = objectA as! T
        if x.name == y.name {
            print("found a match")
            }
        }
     }
}

我不认为这是允许的。 但是,如果你们都知道如何让它发挥作用,那将非常感激。它会为我节省很多重复的代码。

1 个答案:

答案 0 :(得分:1)

你为什么这样做?您可以简单地实现Hashable协议和override ==运算符来比较两个对象。然后你可以简单地写:x == y没有任何循环。