CNContactStore的executeSaveRequest(_:)
方法根据文档引发错误。
我试图在do/catch
中捕获此错误,但我无法弄清楚我需要捕获的错误。
do{
try store.executeSaveRequest(saveRequest)
} catch *???* {
//alert the user
}
什么应该替换上面代码中的????
答案 0 :(得分:2)
实际上你有几个选择。
在不知道错误的情况下捕获任何错误
catch {...}
catch let error { // Use error }
使用exhaustive catch clauses使用CNErrorCode
枚举处理特定错误。
enum CNErrorCode : Int {
case CommunicationError
case DataAccessError
case AuthorizationDenied
case RecordDoesNotExist
case InsertedRecordAlreadyExists
case ContainmentCycle
case ContainmentScope
case ParentRecordDoesNotExist
case ValidationMultipleErrors
case ValidationTypeMismatch
case ValidationConfigurationError
case PredicateInvalid
case PolicyViolation
}