ここに私が達成しようとしているものがあります: 私は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でUIWebViewを保存することはできますか?
- 5. NSUserDefaultにビデオを保存する
- 6. iOS - オブジェクトがアプリケーションNSUserDefaultに保存されていますか?
- 7. NSUserDefaultに日付を保存すると不正な値が返される
- 8. NSUserdefault doubts
- 9. NSUserDefaultデータを保存してテーブルビューで表示
- 10. n00bの場合:数値データを他のデータに送信してから要約を保存するNSUserDefault
- 11. アプリケーションを強制終了するとNSUserDefaultデータを保存できません。 Swift
- 12. IOS/Objective-C:カスタム配列をNSUserDefaultとして保存
- 13. NSUserDefault to NSArray
- 14. イメージをNSUserDefaultに保存することの短所は何ですか?
- 15. xmlスキーマは、別の要素値の存在に基づいて要素値を検証できますか?
- 16. jsonデータのnsuserdefaultを保存して、それを次のView Controller Swift 3.0に保存する方法は?
- 17. iOS - NSUserDefaultに保存された単一のNSDataオブジェクトのNSArrayがNSDataになっていますか?
- 18. NSUserDefault、のAlloc標準Userdefault
- 19. UIImageとNSMutableArrayを含むNSUserDefaultにカスタムオブジェクトを保存するにはどうすればいいですか?
- 20. NSUserDefaultでゲームの進捗状況を保存する:良いか悪いのでしょうか?
- 21. NSUserDefault swiftでネストされた辞書を保存/取り出す方法は?
- 22. 別の列の値に基づいて値を取得する
- 23. Excel:別のセルの値に基づいて値を返す式
- 24. Excelの値を別の値に基づいて更新する
- 25. NSUserDefaultからのデータの保存、読み取り、および削除方法
- 26. NSUserDefaultの問題。 UIImageViewグリッドを含むデータを保存/取得する[] []
- 27. NSUserDefaultにスコアを追加する
- 28. 別の値に基づいてCSS値を設定する
- 29. mysqlの別の行の値に基づいて値を選択
- 30. Knockout.js別のフォーム値に基づいてフォームの値を変更
キー値に基づいて値を保存します。キーが同じ場合は、値を保存するたびに値がwriterne以上になります。キーが異なる場合は、それらのキーをすべて追跡する方法が必要です。 –