[英]Where to store a SQLite DB connection with iOS?
我用SQLite.swift創建了一個 SQLite 連接,但我不確定在哪里存儲數據庫連接,因此我可以在用戶擁有各種視圖的應用程序持續時間內使用它。
在這里使用UserDefaults
是否合適? 還是EnvironmentObject
?
iOS 應用程序在保持數據庫連接打開以供重用方面的建議是什么?
在這里使用 UserDefaults 是否合適?
當然不。 就像您自己說的:您希望它在應用程序打開時存在。 而 UserDefaults 用於在應用程序未運行時要存儲的內容。
還是環境對象?
您可以,但從語義上講它仍然是錯誤的:Apple 將其定義為“由父視圖或祖先視圖提供的可觀察 object 的屬性包裝器類型。”,這並不真正適合數據庫連接。 它不是帶有狀態的可觀察 object。
理想情況下,您退后一步,看看您的應用程序的更通用架構。
所以你真正想要的是
在這種結構中,數據庫連接由數據提供者管理,不需要與任何人共享。 而且您的視圖實際上將使用 Observable 對象,除了那些可觀察對象是數據本身,而不是與數據庫的連接(實際上視圖不會“知道”數據來自哪里)。
我不會 go 詳細介紹如何使 model 發生 - 這里還有許多其他細節(比如你的應用程序的整體架構是什么),但這是這個想法的要點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.