为什么Xcode会两次返回错误?

时间:2016-10-18 17:39:02

标签: swift error-handling keychain

我正在使用Locksmith钥匙串包装器。

方法签名是这样的:

public static func saveData(data: [String: AnyObject], forUserAccount userAccount: String, inService service: String = LocksmithDefaultService) throws {...}

我正在使用它:

//Line A—breakpoint
do{
     try Locksmith.saveData(["password" : password], forUserAccount: "tech")
     }
     catch {
    // some code}

在我的断点处,如果

po Locksmith.saveData(["password" : password], forUserAccount: "tech")我会得到

  

Locksmith.LocksmithError.Duplicate

     

Locksmith.LocksmithError.Duplicate

我很困惑为什么我会收到错误两次。假设错误本身就是说Duplicate。我更困惑。我不确定这个问题是因为Locksmith还是因为我对try& throw或其他东西在Swift中有效。

PS:我认为,如果任何有足够代表的人,他们会为Locksmith创建一个SO标签,这是一个好主意,因为它有点像钥匙串的流行包装。有1900人参加了此次演出,我相信还有更多人正在使用它。

1 个答案:

答案 0 :(得分:0)

我现在正在运行Xcode 8和Swift3,而Xcode 8在这个时候看起来有些小问题。

我几乎可以肯定这是一个错误。为什么呢?

  • 在应用程序的另一次运行中,它只显示一次。
  • 我看到了其他一些错误,打印了两次。就像我得到fatal error: unexpectedly found nil while unwrapping an Optional value 2次......