ここに私が達成しようとしているものがあります: 私はNSUserDefaultsに保存された場所を持っています。これでNSUserDefaultで追加されたユーザーは値を選択し、この値をこの場所に保存します。したがって、ユーザーがその場所を再度選択すると、選択した場所を戻すことができます。
この値は場所によって異なり、ユーザーはいつでも変更することもできます。私はそれが可能であることを知りたいですか?そうでない場合、これを行う最適な方法は何でしょうか?私はまだこの実装を開始していないので、コードはありません。別のNSUserDefault値に基づいてNSUserDefault値を保存できますか?
0
A
答えて
0
あなたは辞書を保存したい場合:
let dict:[String:String] = ["key":"value"]
// set multiple values into a specific location
UserDefaults.standard.set(dict, forKey: "locationA")
// get the values for a given location
let result = UserDefaults.standard.value(forKey: "locationA")
print(result!)
または単純な値
let value = "value"
// set simple value into a specific location (for key)
UserDefaults.standard.set(value, forKey: "locationA")
// get the value for a given location
let result = UserDefaults.standard.value(forKey: "locationA")
print(result!)
0
をこれを行うことが可能です。各場所について、最初の項目が場所であり、2番目の項目が値である2つの項目NSArray
を作成できます。たとえば:
NSArray *locationData = @[location, value];
あなたはこれらの2項目NSArrays
のNSArray
を続けるだろう、とNSUserDefaults
にそれを保存します。
NSArray *allLocations = @[@[location1, value1], @[location2, value2], ...];
[[NSUserDefaults standardUserDefaults] setObject:allLocations forKey:@"LocationData"];
あなたは、配列の中を歩くだろう特定の場所の値を検索するには(このコードは同じ位置であることが100メートル内の任意の位置を考慮):
- (id)valueForLocation:(CLLocation *)location {
for (NSArray *locInfo in allLocations) {
CLLocation *loc = (CLLocation *) locInfo[0];
if ([location distanceFromLocation:loc] < 100) {
return locInfo[1];
}
}
return nil;
}
これを実行する別の方法は、この情報を格納することです辞書、場所をキー入力。 CLLocation
をキーとして直接使用することはできませんが、CLLocation
の座標をNSValue
に入れて使用します。詳細はusing CLLocation objects as keys in dictionaryを参照してください。
関連する問題
- 1. IPhoneのNSUserDefaultに値を保存しておきます。
- 2. NSUserDefaultにカスタムオブジェクトを保存します
- 3. NSUserDefaultにCCSpriteを保存するには
- 4. NSUserDefaultにビデオを保存する
- 5. iOS - オブジェクトがアプリケーションNSUserDefaultに保存されていますか?
- 6. NSUserDefaultに日付を保存すると不正な値が返される
- 7. NSUserdefault doubts
- 8. NSUserDefaultデータを保存してテーブルビューで表示
- 9. n00bの場合:数値データを他のデータに送信してから要約を保存するNSUserDefault
- 10. アプリケーションを強制終了するとNSUserDefaultデータを保存できません。 Swift
- 11. イメージをNSUserDefaultに保存することの短所は何ですか?
- 12. NSUserDefault to NSArray
- 13. iOS - NSUserDefaultに保存された単一のNSDataオブジェクトのNSArrayがNSDataになっていますか?
- 14. Excel:別のセルの値に基づいて値を返す式
- 15. 別の値に基づいてCSS値を設定する
- 16. NSUserDefault、のAlloc標準Userdefault
- 17. UIImageとNSMutableArrayを含むNSUserDefaultにカスタムオブジェクトを保存するにはどうすればいいですか?
- 18. NSUserDefault swiftでネストされた辞書を保存/取り出す方法は?
- 19. NSUserDefaultでゲームの進捗状況を保存する:良いか悪いのでしょうか?
- 20. NSUserDefaultからのデータの保存、読み取り、および削除方法
- 21. NSUserDefaultの問題。 UIImageViewグリッドを含むデータを保存/取得する[] []
- 22. NSUserDefaultにスコアを追加する
- 23. 別のドロップダウンリストの値に基づいてドロップダウンリストの値を変更します
- 24. NSUserDefaultにNSUrlが絶対文字列として保存されていません
- 25. NSUserDefaultは機能しません
- 26. 別のテーブルの値に基づいて値を更新してください
- 27. 別の列の値に基づいて新しい列に値を表示
- 28. フィールドに別のフィールド値に基づいて別のテーブルの値を割り当てます
- 29. 別のセルの値に基づいてカスタムセルの値を変更する
- 30. 別の列の値に基づいて列の値を取得する
キー値に基づいて値を保存します。キーが同じ場合は、値を保存するたびに値がwriterne以上になります。キーが異なる場合は、それらのキーをすべて追跡する方法が必要です。 –