encodeSystemFields
データベースでローカルにレコードを保持するときに使用することになっています。
そのデータをエクスポートしたら、逆シリアル化するときに何か特別なことをする必要がありますか?
そのデータ内の情報に基づいて、どのようなシナリオで行動する必要がありますか?
バリエーションとして (前の質問でカバーされていない場合)、この情報は何を防ぐのに役立ちますか? (私が推測するデータの破損)
encodeSystemFields
データベースでローカルにレコードを保持するときに使用することになっています。
そのデータをエクスポートしたら、逆シリアル化するときに何か特別なことをする必要がありますか?
そのデータ内の情報に基づいて、どのようなシナリオで行動する必要がありますか?
バリエーションとして (前の質問でカバーされていない場合)、この情報は何を防ぐのに役立ちますか? (私が推測するデータの破損)
iOS 15 / Swift 5.5 以降、この拡張機能が役立つ場合があります。
public extension CKRecord {
var systemFieldsData: Data {
let archiver = NSKeyedArchiver(requiringSecureCoding: true)
encodeSystemFields(with: archiver)
archiver.finishEncoding()
return archiver.encodedData
}
convenience init?(systemFieldsData: Data) {
guard let una = try? NSKeyedUnarchiver(forReadingFrom: systemFieldsData) else {
return nil
}
self.init(coder: una)
}
}