如何将错误保存到核心数据或转换为数据?

时间:2017-03-06 08:49:12

标签: swift core-data error-handling swift3

我有错误枚举,它继承自错误协议,如下所示:

enum SGError: Error {
    case error1
    case error2
}
let error = SGError.error1

如何将错误变量保存到核心数据?或者我如何将错误转换为数据 NSData )?

稍后我需要将 Data NSData )转换回SGError。

1 个答案:

答案 0 :(得分:1)

该错误枚举将具有我还需要从Int继承的rawValue。以下是示例。

enum SGError: Int, Error {
    case error1
    case error2
}
let error = SGError.error1

// Set & save error to the core data.
managedObject.error = error.rawValue

// Get back error from core data.
let error = SGError(rawValue: managedObject.error)