为什么会这样?
var sb = NSStoryboard(name: "Main", bundle: nil)
var wc = sb?.instantiateControllerWithIdentifier("pref") as NSWindowController
XCTAssertEqual(wc.window?.title, "Preferences", "Preferences window must have title Preferences")出现Type 'String?' does not conform to protocol 'Equatable'错误,而
var sb = NSStoryboard(name: "Main", bundle: nil)
var wc = sb?.instantiateControllerWithIdentifier("pref") as NSWindowController
XCTAssert(window.window?.title == "Preferences", "Preferences window must have title Preferences")不是吗?
发布于 2014-11-30 06:13:13
创建Equatable Optional<T>并不是完全可能的,因为T本身可能不是Equatable,并且不能在实例声明中进行约束。因此,Optionals的==操作符是这样重载的
func ==<T : Equatable>(lhs: T?, rhs: T?) -> Bool但是没有相应的Equatable实例来支持它。最终的结果是,Optionals可以与==进行比较,但可能无法提供给XCTAssertEqual等泛型Equatable类型的方法。具有真实约束的类型系统的另一个很好的论点是...
https://stackoverflow.com/questions/27207370
复制相似问题