我有一个Objective-C类(它恰好是一个按钮,但这不重要),在我的项目的另一个部分,我有一个这些按钮的数组,并且我想使用find()
方法获取按钮的索引。就像这样:
func doSomethingWithThisButtonIndex(index:Int)
{
let buttons = [firstButton, secondButton, thirdButton]
if index == find(buttons, firstButton)
{
// we've selected the first button
}
}
但我遇到了一个问题
类型“ImplicitlyUnwrappedOptional”不符合协议“Equatable”
好的,那么让我们转到Objective-C并让ButtonThing实现<Equatable>
。但它无法识别。
那么我该怎么办呢?
目前我正在绕过它进行构建,强制将数组作为NSArray并使用indexOfObject
。但这很丑陋。而且令人沮丧。
@objc
或者你从Swift端进行操作,否则你无法使一个Objective-C类符合Swift协议。Equatable
没有被注释为这样,而且它不可能被注释为这样。 - nhgrif