issues
search
kokoichi206
/
ios-app
1
stars
1
forks
source link
データの永続化
#10
Open
kokoichi206
opened
2 years ago
kokoichi206
commented
2 years ago
ローカル環境のデータの永続化の方法
以下の Swift APIs を使う方法がある
UserDefaults
アプリやユーザーの基本情報を保存する
デフォルトの再生速度、等
特徴
シンプル
スレッドセーフ
アプリ間や拡張アプリで共有される
制限
同じキーに対する値は簡単に更新される
暗号化されてはいない
アプリのどこからでも更新されうる
Keychain
mac や iOS に入ってるやつ
パスワードや証明書などを保存できる
暗号化された DB
Core Data
インメモリキャッシュのフレームワーク
SQLite のラッパーとして用いられる
Saving Files to Dis
全てのアプリにはサンドボックスディレクトリ(Document directory)があり、そこにファイルを保存できる
FileManager
の機能を使用
特徴
FileManager は iCloud と使うことができ、iOS と MacOS 間で同期させることが可能
スレッドセーフ
辞書内容のリスト作成も可能
(ローカル容量に空きがある限り)大量のデータを保存することが可能
制限
アプリのサンドボックスは移動されうるので、絶対的な URL を保存することはできない
?
ファイルの読み書きは非常に遅い
SQLite
GRDB
Property list (Plists) in Swift
key/value
info.plist, GoogleService-Info.plist など
plist ファイルでは、いくつかのプリミティブオブジェクトを保存できる
Strings
Numbers (Int, Floats)
Bools
Dates
Data
Arrays
Dictionaries
Bundle を通して行われる
特徴
使用しやすい
base background URL, application keys などの環境変数を保存するのに使われる
Links
iOS Data Persistence in Swift
ローカル環境のデータの永続化の方法
以下の Swift APIs を使う方法がある
UserDefaults
特徴
制限
Keychain
Core Data
Saving Files to Dis
特徴
制限
SQLite
Property list (Plists) in Swift
特徴
Links