簡體   English   中英

我的數據應該如何存儲? - 斯威夫特

[英]How should my data be stored? - Swift

也許這是一個非常基本的問題,但我一直在努力尋找合適的答案。 我的應用程序將包含一個虛構人物列表。 每個角色都有一個名字、一個發行年份、一個唯一的 ID 號和一個配件/武器。

用戶將無法編輯、添加或刪除字符。 將有大約 1500 個條目。 每個表格視圖單元格都將說明角色的名稱,單擊該角色后將轉換為包含所有信息的視圖控制器。

我的問題是如何將此信息放入我的應用程序中,然后可用於填充表視圖? 我嘗試使用 encodable 和 decodeable 但這大大減慢了我的應用程序。 我考慮將信息添加到 plist 中,但我仍然不知道這是否是最好的方法。

我建議core-date,蘋果已經改進了很多,如果你今天有1500個條目,那么在不久的將來你可能會有3000個條目?

對我來說,強項之一是謂詞,您也可以將核心數據與 tableview 鏈接:)

Core Data 是一個選項,就像 Realm 這樣的持久存儲框架一樣。 這兩者的優點是查詢的可能性,如果您對謂詞感到滿意,Core Data 可能會更好。 兩者的缺點是在更改數據模型時處理遷移麻煩。

在您的情況下,如果您只是以只讀方式顯示此信息並且不需要強大的查詢、排序功能,那么您只需從包中的 JSON 文件加載此數據。

您可以創建自定義 JSON 並使用它。 但是@zheck 建議如果您在應用程序中包含一個數據庫組件會更好。 這樣做有多種原因。

  1. 可擴展性:您的數據可能會隨着時間的推移而增加
  2. 靈活性:您的數據格式可以改變
  3. 易讀易寫:您可能需要更新數據

而這樣的例子不勝枚舉。 根據您的要求,有多種數據庫解決方案可用。 雖然核心數據是一個非常強大的平台領域,但 Firebase 類型的數據庫解決方案為您提供了更多的靈活性和功能。

使用 core-data.Core Data 為您管理保存和撤消功能。 它有一個持久性存儲,用於跟蹤更改,並且可以在任意次數自動刷新到磁盤。 Core Data 和相關的類提供了讓你的實體進入UITableViews 的簡單方法,比如 NSFetchedResultsController

暫無
暫無

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

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