0
私は、カスタム構造体を持っている...スウィフト3 - バイナリ演算子「==」は2つの「体mystruct」のオペランドに適用することはできません
struct MyStruct {
let viewController: UIViewController
let view:UIView
init(viewController:UIViewController) {
self.viewController = viewController
}
}
私はそれらの配列を持ち、その後、私はかどうかを確認したいですこの配列は、特定の構造体...
let aStruct = someStruct
if structArray.filter { $0 == aStruct } {
print("do stuff")
}
が含まれていますが、私はエラーバイナリ演算子「==」はまず、なぜ私ができない... 2つの「体mystruct」オペランドに適用することはできません取得していますこの方法で構造体をフィルタリングしてください...次に、この方法で配列を検索する方法は...
のおかげで、事前
は、あなたが '' Equatable'プロトコルに準拠struct'持っています。 – rmaddy
'MyStruct'を' Equatable'に準拠させても、if structArray.filter {$ 0 == aStruct} {...} 'と言うことはできません。代わりに' contains(_ :) 'を使用してください。 – Hamish