Any,Optional和Protocol如何在Swift中协同工作?

时间:2016-10-21 09:14:45

标签: ios swift swift3

有人可以解释为什么第一个片段失败而第二个片段有效吗?

  1. 错误是可选类型

    var error:Error? = NSError(domain: "MyDomain", code: 1001, userInfo: nil)
    var anyError:Any = error
    if let err = anyError as? Error
    {
        print("success")
    }
    else {
        print("failure") // prints failure
    }
    
  2. NSError是可选类型

    var error:NSError? = NSError(domain: "MyDomain", code: 1001, userInfo: nil)
    var anyError:Any = error
    if let err = anyError as? NSError
    {
        print("success") // prints success
    }
    else {
        print("failure")
    }
    

0 个答案:

没有答案