こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Objective-C

NSString *path = [[NSBundle mainBundle]pathForResource:@"Dat"ofType:@"plist"];

NSMutableDictionary *dic = [[NSMutableDictionary alloc]initWithContentsOfFile:path];
NSArray *array = [[NSArray alloc]init];
for (id keys in dic) {
array = [dic objectForKey:keys];
}
*dicには、下記のキー、値が入ってます。(NSLOGで確認しました。)
D = ( DAT,DIOP,DSE );... N = ( NET,NW );... Y = (YEA,YAC );

上記のコードだと、値が全てarrayに格納されませんでした。
なぜか、キーがNの値だけが格納されてしまいます。
全てのキーの値を格納するには、どうしたらよいのでしょうか?
よろしくお願いします。

投稿日時 - 2010-04-12 15:23:15

QNo.5820895

困ってます

質問者が選んだベストアンサー

NSDictionaryに格納された配列をひとつの配列にまとめるという動作でよいでしょうか?

以下の点でうまく動作していないと思います。
・NSArrayは静的な配列になるので、項目数が可変の場合はこのクラスは使わないと思います。
・array=[dic object~ の部分は、Dictionaryに格納されている配列のポインタのアドレスをarrayにいれているだけで、配列に追加するという命令にはなっていません。

直すとしたら、
・NSMutableArrayのオブジェクトを作る
・NSMutableArrayのメソッド「addObjectsFromArray:」を使う

投稿日時 - 2010-04-12 18:33:50

お礼

ご回答ありがとうございます。
質問内容がわかりずらくて、申し訳ありません。
NSDictionaryの値のみをarrayに格納できなくて困ってました^^;

かなりヒントを頂けたので、できそうな気がしてきました。
ありがとうございます。

投稿日時 - 2010-04-12 19:17:29

ANo.2

このQ&Aは役に立ちましたか?

8人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

Objective-C は知らないけど, 何がしたいのでしょうか? そして, どのような順序でキーが出てきているかわかりますか?
あと, 質問のタイトルで「Objective-C」はないと思うな. もっと適切なタイトルをつけようとは思いませんか?

投稿日時 - 2010-04-12 15:37:57

あなたにオススメの質問