1. ホーム
  2. ios

[解決済み] Swiftアプリでローカルデータを保存する方法とは?

2022-05-05 02:48:01

質問

現在、Swiftで開発したiOSアプリに取り組んでいて、ユーザーが作成したコンテンツをデバイスに保存する必要があるのですが、ユーザーのコンテンツをデバイスに保存/受信する簡単で迅速な方法が見つからないようです。

どなたか、ローカルストレージの保存方法とアクセス方法を教えてください。

ユーザーがアクションを実行したときにデータを保存し、アプリの起動時に受信することです。

解決方法は?

いくつかの文字列や一般的な型を保存するための最も簡単な解決策は ユーザーデフォルト .

UserDefaultsクラスは、floats、doubles、integer、Boolean値、URLなどの一般的な型にアクセスするための便利なメソッドを提供します。

UserDefaults このキーを再利用できるように、アクセス可能な場所に保存するのは良いアイデアです。

キー

struct DefaultsKeys {
    static let keyOne = "firstStringKey"
    static let keyTwo = "secondStringKey"
}

設定

let defaults = UserDefaults.standard
defaults.set("Some String Value", forKey: DefaultsKeys.keyOne)
defaults.set("Another String Value", forKey: DefaultsKeys.keyTwo)

取得中

let defaults = UserDefaults.standard
if let stringOne = defaults.string(forKey: DefaultsKeys.keyOne) {
    print(stringOne) // Some String Value
}
if let stringTwo = defaults.string(forKey: DefaultsKeys.keyTwo) {
    print(stringTwo) // Another String Value
}


Swift 2.0

Swift 2.0では UserDefaults と呼ばれていました。 NSUserDefaults で、セッターとゲッターの名前が微妙に違っていた。

設定

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("Some String Value", forKey: DefaultsKeys.keyOne)
defaults.setObject("Another String Value", forKey: DefaultsKeys.keyTwo)

取得中

let defaults = NSUserDefaults.standardUserDefaults()
if let stringOne = defaults.stringForKey(DefaultsKeys.keyOne) {
    print(stringOne) // Some String Value
}
if let stringTwo = defaults.stringForKey(DefaultsKeys.keyTwo) {
    print(stringTwo) // Another String Value
}


マイナーな設定より深刻なものは、より堅牢な永続的ストアの使用を検討する必要があります。