【发布时间】:2014-08-09 14:11:14
【问题描述】:
我正在 Swift 中构建一个非常简单的结构,其中包含一组可选值。该结构必须符合 Equatable 协议。这是代码:
struct MyTable: Equatable {
var values: [Int?] = Array(count: 64, repeatedValue: nil)
}
func == (lhs: MyTable, rhs: MyTable) -> Bool {
return lhs.values == rhs.values
}
很简单。我没有看到任何错误,但编译器给出了错误:“'[Int?]' is not convertible to 'MyTable'”。我在做傻事吗?或者这是编译器的错误?谢谢!
(使用 Xcode6-Beta5)
【问题讨论】:
-
如果'values'数组被声明为[Int] instad of [Int?],一切正常。为什么不使用 [Int?]?