我不認爲這可以做,但我會問無論如何。我有一個協議: protocol X {}
和A類: class Y:X {}
在我的代碼的其餘部分我使用協議X中的代碼是指一切,我希望能夠做一些事情像: let a:X = ...
let b:X = ...
if a == b {...}
的問題是,如果我嘗試實施Equatable: protocol X: Equatable {}
fun
我有一個Equatable類 class Item: Equatable {
var value: AnyObject?
var title: String
init(title: String, value: AnyObject?) {
self.title = title
self.value = value
}
//E
內斯威夫特Equatable泛型類型的比較,我有一個Node類二叉樹,像這樣: class Node<T: Equatable> {
let value: T
let left: Node<T>?
let right: Node<T>?
init(value: T, left: Node<T>? = nil, right: Node<T>? = nil)
我正在嘗試創建一個具有自定義對象的Set。 這是工作,如果我使用一個設置我的自定義的對象不存在重複: public class AttributesGroup: Hashable, Equatable, Comparable {
open var id: Int!
open var name: String!
open var position: Int!
我想知道下面的代碼有什麼問題? import Foundation
enum SliderType: Int {
case analog = 1, discrete, highLow
}
protocol DataEntry: class, Hashable {
var hashValue: Int { get set } // hashable protocol
我試圖通過比較它們的特定鍵來實現以下方法來刪除字典數組中的重複條目。然而,這種擴展方法是行不通的,由於錯誤: Binary operator == cannot be applied to two 'Equatable' operands 這些顯然equatable和同一類型(Iterator.Element.Value),那麼,爲什麼不工作? 我看到它將Equatable視爲特定類型,而不是約束
我需要容器不限Equatable項NOT Generic類(從故事板初始示例UI類)。我需要這樣的 var items: [Equatable]?
,但它不工作,Equatable需要通用。問題是沒有共同的Equatable類。 好的 - 去通用!但如果我這樣做 class Item<Value: Equatable>: Equatable {
var value: Value