2012-02-16 17 views
0

NSArrayをNSArray内に配置しようとしています。私の目的は、配列内の各オブジェクトが2つのキーと2つのオブジェクトを持つ辞書になることです。だから、辞書のキーは "TITLE"と "AUTHOR"と呼ばれ、それぞれが値を持ち、そのすべてがNSMutableArrayオブジェクトに格納されます。NSMutableArrayからNSDictionaryを取得します。

これは私が持っているコードです(dataSourceはタイトルのリストを持つ配列です、著者は対応する著者のリストを持つ配列です、searchedDataは辞書をオブジェクトに入れる配列です):

for (int i = 0; i<[dataSource count]-1; i++) { 
    NSLog(@"in"); 
    NSString *authorString = [NSString stringWithFormat:@"%@",[author objectAtIndex:i]]; 
    NSString *titleString = [NSString stringWithFormat:@"%@",[dataSource objectAtIndex:i]]; 
    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:titleString, @"TITLE",authorString,@"AUTHOR", nil]; 
    [searchedData addObject:dict]; 
} 

私は配列内の辞書からデータを読み取る方法がわからない私はこれを試してみましたが、それは動作しないか、または。私はsearchedDataの対象nの辞書からのタイトル 『「キーのオブジェクトを取得する』と言うことができるようにしたいが、私はどのように知りません。

本当にありがとうございました!!!

ルーク

+0

NSArrayまたはNSDictionaryにオブジェクトを追加することはできません。それぞれのタイプを作成しなければなりません。必要なものは何でも構いません。それらは不変オブジェクトです。それらを変更したい場合は、NSMutableArrayまたはNSMutableDictionaryを使用する必要があります。 – gurooj

+0

申し訳ありませんが、配列は変更可能です(ただし、辞書はありません) –

+0

ここでsearchedData配列を作成しますか? –

答えて

2

は、アレイへの不変の辞書を追加する。それ以外は、私はあなたのコードに問題を見ることができない。この?

NSDictionary *nthDict = [mutableArray objectAtIndex:n]; 
NSString *title = [nthDict objectForKey:@"TITLE"]; 
NSString *author = [nthDict objectForKey:@"AUTHOR"]; 
+0

こんにちは!ありがとう、しかし、それは各文字列の(null)を返します。これはNSDictionaryがNSMutableArrayにどのように挿入されるか、またはNSMutableArrayを取得する際の問題に問題がありますか? –

+0

@ LukeBaumann:もし私がベットマンだったら、それはNSMutableArray自身がゼロである可能性が高いと言えます。 – Chuck

+0

ありがとうございます。問題は配列を初期化するのを忘れたことです(doh!)。 –

1

あなたforループがdataSource配列の最後の要素をスキップしようとしました罰金、それを取得していますH2CO3のようなショーもOKです。

関連する問題