【发布时间】:2015-06-25 10:13:22
【问题描述】:
虽然find(["a", "b"], "c") 没有问题,但在尝试在结构数组中查找结构的索引时出现错误:
struct Score
{
//...
}
var scores: [Score] = //...
var score: Score = //...
find(self.scores, score) // Error: Cannot invoke 'find' with an argument list of type '([Score], Score)'
虽然默认情况下无法相互比较的结构可能是个问题。但是将Scores 定义更改为class
给我同样的错误。
【问题讨论】:
-
你已经找到原因了。
Score必须实现Equatable协议(无论是结构还是类)。 -
可能和这里的问题一样:stackoverflow.com/questions/27887387/…