模糊表达式类型错误(Swift 2)

时间:2015-11-11 18:25:36

标签: ios swift

我有一个警告弹出窗口,我添加了一个具有回调的操作,其中可能会抛出异常。

问题是,在下面的代码中,样式附近存在一个模糊的表达式类型错误:.Default 。这显然是因为一个错误:如果我删除整个catch块并用尝试替换尝试 - 错误就消失了。

我很困惑,需要你的帮助!

let submitButton = UIAlertAction(title: "Submit", style: .Default) { [unowned self, ac] _ in
        let answerField = ac.textFields![0]


        do {
            try self.submitAnswer(answerField.text!)
        } catch let error as UserInputError {

        }

    }

1 个答案:

答案 0 :(得分:2)

错误消息具有误导性。真正的问题是你的catch 声明不是"详尽的"。编译器不知道这一点 UserInputError是唯一可能出现的错误。

这应该解决它:

do {
    try self.submitAnswer(answerField.text!)
} catch let error as UserInputError {
    // a UserInputError
} catch let error {
    // some other error
}