簡體   English   中英

可轉換和 NSKeyedUnarchiveFromData

[英]Transformable and NSKeyedUnarchiveFromData

我正在嘗試將測量值保存到核心數據可轉換屬性。 基本上,這個答案有什么,只有一個不同的單位: 如何在核心數據中保存通用測量<Unit>?

一切正常,但是我在日志中收到此消息: [general] 'NSKeyedUnarchiveFromData' should not be used to for un-archiving and will be removed in a future release

我不知道如何解決這個問題。 或者它到底是什么意思。 這是我第一次使用可轉換的 Core Data 屬性。

謝謝


編輯:

我做了一個新的 class:

import Foundation

@objc(UnitTemperatureValueTransformer)
final class UnitTemperatureValueTransformer: NSSecureUnarchiveFromDataTransformer {
    static let name = NSValueTransformerName(rawValue: String(describing: UnitTemperatureValueTransformer.self))
    override static var allowedTopLevelClasses: [AnyClass] {
        return [UnitTemperature.self]
    }
    
    public static func register() {
        let transformer = UnitTemperatureValueTransformer()
        ValueTransformer.setValueTransformer(transformer, forName: name)
    }
}

然后我將核心數據 object 的變壓器值設置為: UnitTemperatureValueTransformer

這就是所有需要做的嗎?

出現此警告是因為蘋果將在未來的版本中刪除它,因為默認情況下它不安全。 這是Apple論壇上的主題。 您應該使用NSSecureUnarchiveFromData代替。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM