2017-08-02 92 views
0

在我的UserDefaults我需要存儲用戶保存的「收藏夾」。每個最愛包含一個名稱和一個電話號碼。Swift UserDefault - 存儲大對象?

稍後運行聯繫人列表需要檢查每個聯繫人是否已經收到聯繫人。

無論如何,看着存儲一個對象在UserDefaults它似乎是一個大麻煩?我想要更簡單的事情。如何做到這一點的任何投入?

我在想也許把它存儲爲長字符串逗號和下劃線分開。像「Name_Phone,Name2_Phone2

然後將其拆分成一個數組,稍後用逗號和下劃線進行訪問。

雖然,我擔心有些名字可能有逗號或下劃線。

這樣做的好方法是什麼?

+0

也許Dictionnary?類似於'let favorite:[String:String] = favorites [「Fav1」] =「Name_Phone」' – pierreafranck

回答

4

NSUserDefaults適用於小數據和屬性。然而,對於像這樣的大數據,最好的方法是使用本地設計的核心數據,以滿足您的需求。

我建議你使用這個庫是建立在覈心數據:https://github.com/JohnEstropia/CoreStore

+1

'UserDefault'和__CoreData__之間有這樣的工作選項,比如'.plists'怎麼樣? – holex

+0

.plists也是一個答案!不過,我傾向於使用核心數據,因爲它更加靈活和動態。 –

+0

不要誤解我的意思,我不會反駁CoreData,但是每個任務都需要這些殘酷的資源來存儲'String'對象列表;即使從開發者的角度來看,更好的事情並不意味着從實際項目的架構角度來看它更好:) – holex