【问题标题】:How to save error to core data or convert to Data?如何将错误保存到核心数据或转换为数据?
【发布时间】:2017-07-26 01:25:34
【问题描述】:

我有一个从 错误协议 继承的错误枚举,如下所示:

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

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

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

【问题讨论】:

  • 如果错误在字符串中,则让 data = error_string.data(using: .utf8)。
  • @Swift_Guru 你能写更多信息吗?当前您的帖子不起作用。
  • 我不确定但你试过 let data = error.data(using: .utf8)
  • @Swift_Guru 不能这样。
  • 我想你必须转换你的枚举的原始值

标签: swift core-data error-handling swift3


【解决方案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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-26
    • 2016-08-19
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多