我目前正在开发的项目使用了很多泛型。我在尝试使用通配符时遇到了问题。
在Java中,我可以这样做:
public class testGeneric<T> {
}
public class testing {
public <T> void test (testGeneric<T> input) {
testGeneric<?> testOne = input;
}
}
没有任何错误。
在Swift中我使用AnyObject(因为它本来是所有对象的基础,所以我认为它可以以相同的方式使用)。
但是,以下引发错误(特别是“T与AnyObject不同”):
class testGeneric<T> {
}
class testing {
func test <T> (input: testGeneric<T>) {
var testOne: testGeneric<AnyObject> = input
}
}
在搜索了一下后,我发现Swift中有“通配符模式”(特别是“_”)。但是,这似乎不适用于泛型。
有解决方法吗?
提前致谢。
答案 0 :(得分:0)
我认为您正在寻找的是:
class testGeneric<T> {
}
class testing {
func test <T> (input: testGeneric<T>) {
var testOne: testGeneric<T> = input
}
}