Swift:泛型类中的声明

时间:2016-06-11 15:57:55

标签: swift generics

我们说我有一个通用类:

class SomeClass<Element> {
  // What is the difference between this:
  var array: [SomeClass]!

  // and this declaration:
  var array2: [SomeClass<Element>]!
}

这些声明之间有什么区别?

1 个答案:

答案 0 :(得分:5)

如果没有泛型参数,泛型类型就不存在,因此省略泛型类型意味着您希望编译器推断出类型。

在这种情况下,要推断的逻辑类型是do

请注意,这只是因为您在Element声明中使用了SomeClass。它不适用于不同的泛型类。

可以在变量声明中使用类似的泛型参数推断:

SomeClass