1

私はこのコードを持っていますが、何が間違っているのかわかりません。以下のコードでわかるようにshifts.plist、私のsupporting filesフォルダーには plist ファイルがあります。これが私のplist構造です。
ここに画像の説明を入力

    NSString *path = [[NSBundle mainBundle] pathForResource:@"shifts" ofType:@"plist"];
    dictionary = [[NSMutableDictionary alloc]initWithContentsOfFile:path];
    cell.textLabel.text = [secondTableInfo objectAtIndex:indexPath.row];
    NSLog(@"%@",[[dictionary objectForKey:@"name"]objectAtIndex:0]);

私は最終的にnameエントリを読み、UITableViewそれらを入力したいと思います。
以前NSLogは出力dictionaryしていましたが、次のようになりました。したがって、ファイルはそこにありますが、私が間違っているのは解析だけです。
NSLog 出力
ありがとう、
サム

4

2 に答える 2

1

objectAtIndex:最初に電話してから電話する必要があるようですobjectForKey:

例えば:

[[dictionary objectAtIndex:0] objectForKey:@"Name"]
于 2011-11-16T03:49:33.017 に答える
1

主なエラー:- ルートは配列であり、ファイルをディクショナリに取り込んでいます。そのため、.h ファイルで NSArray を宣言し、そのプロパティを非アトミックに保持します。

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

array = [[NSArray alloc]initWithContentsOfFile:path];

NSLog(@"First Index Name %@",[[array objectAtIndex:0] objectForKey:@"Name"]);

きっとあなたの質問に答えてくれるでしょう。

于 2011-11-18T09:59:17.670 に答える