商丘銷售網(wǎng)站制作自媒體
概述
各位似禿似不禿小碼農(nóng)們都知道,在蘋果眾多開發(fā)平臺中 CoreData 無疑是那個最簡潔、擁有“官方認證”且最具兼容性的數(shù)據(jù)庫框架。使用它可以讓我們非常方便的搭建出 App 所需要的持久存儲體系。
不過,大家是否知道在 CoreData 中還存在一個 Transformable 類型,它到底是個啥?應用場景有哪些?在最新的 SwiftData 中有沒有對應物?對于開發(fā)者又有哪些“見雀張羅”的擼碼陷阱和最佳實踐呢?
在本篇博文中,您將學到如下內(nèi)容:
- 概述
- 3.4 “行不行,本大爺說了算!”
- 3.4.1 快使用自定義轉(zhuǎn)換器(Transformer)
- 3.4.2 用前“報備”
- 3.4.3 修改 Transformable 字段屬性
- 總結(jié)
本系列文章一共包括將近 3w 枚機智而幽默的文字、詳實的大段代碼示例以及海量圖片,定能讓小伙伴們對 Transformable 類型的“駕馭”更加胸有成竹、勝券在握!
那還等什么呢?讓我們馬上開始 Transformable 大冒險吧!
Let’s go?。。??
3.4 “行不行,本大爺說了算!”
使用 UIColor 作為 Transformable 類型導致運行崩潰的根本原因在于:不是所有符合 NSObject + NSSecureCoding 的類都能直接適配 Transformable 類型,它們還必須向系統(tǒng)“報備”,若未經(jīng)同意使用它們,在運行時“必死無疑”!
這又要分為 3 個步驟展開來好好嘮嘮。
3.4.1 快使用自定義轉(zhuǎn)換器(Transformer)
首先,我們必須創(chuàng)建自己的轉(zhuǎn)換器為后面的“報備”做準備:
class UIColorTransformer: NSSecureUnarchiveFromDataTransformer {override static var allowedTopLevelClasses: [AnyClass] {[UIColor.self