0

plist からデータを読み込んでおり、各項目からデータにアクセスする方法を見つけようとしています。次のコードでは、テキストの値と、それがチェックされている = 0 またはチェックされている = 1 かどうかを抽出できるようにしたいと考えています。

私はこれを試しました:

    NSString *dataArray1 = [[dataArray objectAtIndex:1] objectAtIndex:2];

しかし、それが最善のアプローチであるかどうか疑問に思っていました

助けてくれてありがとう。

// load data from a plist file inside our app bundle
NSString *path = [[NSBundle mainBundle] pathForResource:@"Providers" ofType:@"plist"];
dataArray = [NSMutableArray arrayWithContentsOfFile:path];

NSLog(@"data array from offers %@", dataArray);

出力は次のとおりです。

2013-01-21 15:13:34.599 data array from offers (
        {
        checked = 1;
        text = Provider1;
    },
        {
        checked = 1;
        text = Provider2;
    },
        {
        checked = 1;
        text = Provider3;
    },
        {
        checked = 1;
        text = Provider4;
    }
)

ですから、各項目のチェック値が何であるかを調べられるようにしたいと思います。Provider4 が 1 に設定され、Provider3 が 0 などに設定されている場合は、それを使用してパラメーターを文字列に渡します。

4

2 に答える 2

3
NSString *path = [[NSBundle mainBundle] pathForResource:@"Providers" ofType:@"plist"];
dataArray = [NSMutableArray arrayWithContentsOfFile:path];
for (NSDictionary *dictionary in dataArray)
  {
  NSString *text = [dictionary valueForKey:@"text"];
  NSNumber *checked = [dictionary valueForKey:@"checked"];
  NSLog(@"%@ checked value is: %@", text, checked);
}
于 2013-01-21T15:32:02.710 に答える
1

このようなもの、私は推測します:

for (id dict in dataArray)
  int checked = [[(NSDictionary *)dict objectForKey:@"checked"] intValue];
于 2013-01-21T15:30:21.963 に答える