[解決済み] 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
}
マイナーな設定より深刻なものは、より堅牢な永続的ストアの使用を検討する必要があります。
関連
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] フレームワークを使用したiOSアプリがデバイス上でクラッシュ、dyld: ライブラリがロードされない、Xcode 6 Beta
-
[解決済み] UIViewController のビューが表示されているかどうかを確認する方法
-
[解決済み] UITextFieldのテキスト変更イベント
-
[解決済み] セキュリティで保護されたWebサービスにもアクセスするiOSアプリで、Facebook認証を行うためのデザイン
-
[解決済み】iOSアプリの名前を変更する方法は?
-
[解決済み】UIScrollView Scrollable Content Size Ambiguity
-
[解決済み】iOS。ユーザー名/パスワードをアプリ内に保存する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
libc++abi.dylib が NSException 型の捕捉できない例外で終了する理由 エラー
-
IOS8 Development Guide Error Thread 1: signal SIGABRT
-
[解決済み] アトミック属性と非アトミック属性の違いは何ですか?
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] iOSのバージョンを確認する方法を教えてください。
-
[解決済み] UIViewController のビューが表示されているかどうかを確認する方法
-
[解決済み] UIButtonのタイトルを左揃えにするにはどうしたらよいですか?
-
[解決済み] iphoneアプリのベータテストはどのように行うのですか?
-
[解決済み] UILabelで複数行のテキストを表示する
-
[解決済み] Cocoapods警告 - CocoaPodsがプロジェクトの基本構成を設定しなかった理由は、プロジェクトに既にカスタム構成が設定されているためです。