のNSDictionaryのを返します。 。しかし、このNSDictionaryをNSArrayに取得する簡単な方法があればOKです(データが渡される他のいくつかのクラスでは必要です)。NSUserDefaultsは、これは私がNSArrayの保存方法です代わりにNSArray
NSArrayを格納する方法に問題がありますか? BTW:キーがStringである配列。 String:AnyObjectのようなもの。
ありがとうございます!
ベスト ステファン
のNSDictionaryのを返します。 。しかし、このNSDictionaryをNSArrayに取得する簡単な方法があればOKです(データが渡される他のいくつかのクラスでは必要です)。NSUserDefaultsは、これは私がNSArrayの保存方法です代わりにNSArray
NSArrayを格納する方法に問題がありますか? BTW:キーがStringである配列。 String:AnyObjectのようなもの。
ありがとうございます!
ベスト ステファン
私はあなたがdefaults.dictionaryForKey
を使用しなければならない理由です、(あなたのitem
辞書であるため)、あなたのオブジェクトはユーザデフォルトにうまく設定されていますが、ユーザデフォルトに辞書を保存していると思います。あなたは
defaults.setObject(data as NSArray, forKey: "Some key");
あなたは完全に正しいです、アイテムはNSDictionaryです。 "私はNSArrayとしてデータ内のアイテムを考えました" はNSArrayにアイテムをキャストします。それは欠陥だった。ありがとう! – SteMa
if let id = item["id"] as? String
は非常に疑うあるラインを使用して配列全体を格納することができます。どのように配列アイテムがキー "id"から値を生成することができますか?だから私はあなたが項目が配列か辞書かどうか分からないと思います。あなただけのためにこの行をユーザのデフォルトに保存しています
は成功です。それは間違ったアプローチです。これを明確にするために、以下のコードを試してください。
let mydictionary = NSMutableDictionary()
mydictionary.setValue("123", forKey: "abc")
let data = [mydictionary]
for item in data as NSArray {
if let id = item["id"] as? String {
}
}
ここでは、NSMutableDictionaryをデータに格納しています。そしてそれは通り過ぎています
for item in data as NSArray
私はあなたがうまくいけばいいと思います。
thx ericですが、アイテム自体を保存したいのですが、IDはnsuserdefaults内のオブジェクトの固有の名前を持つことです。 – SteMa
私は意味: "データ"は配列、 "項目"は辞書です...:p – Moritz
あなたは辞書としてこれを保存していますが、どのように配列として取り出すことができます! – Lion