簡體   English   中英

Swift3中的自定義對象的緩存數組

[英]Cache Array of Custom Objects in Swift3

我需要為用戶在會話之間持久保存一系列自定義對象。 數組將填充1-14個相當簡單和輕巧的自定義swift對象,如下所示:

[Obj1, Obj2, Obj3]

我想做的是在調用viewWillDisappear時保留這些數據,以便當用戶返回屏幕時,我可以再次使用這些確切的對象。 做這個的最好方式是什么? 我已經研究了使用核心數據,但是我不想為這些對象設置數據模型,而只是按原樣存儲它們而沒有任何關系或任何東西。

請注意,該應用程序利用了非常復雜的計稅算法,這些對象在其中起着核心作用。 因此,我需要使這些物體盡可能輕。 因此,我不想使對象符合NSCoding,因為對於對象的中心角色沒有必要

如果讓您的類成為符合NSCoding的Objective-C類確實對性能產生實質性影響(我對此表示懷疑),那么您可以創建另一個容器,該容器將NSCoding子類化, NSCoding僅用於存儲。 將一個初始化程序添加到當前的輕量級Swift類/結構中,以從此容器對象初始化實例,反之亦然。 任何時候需要序列化/反序列化時,都只需將此容器對象用作中間對象。

這樣可以以最小的成本為您購買功能,但不會影響常規的使用性能。

如果可以使對象成為NSObject的子類,則可以使其符合NSCoding並使用NSKeyedArchiver和NSKeyedUnarchiver序列化和反序列化對象。

暫無
暫無

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

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