-1
NSString *one = [NSDictionary dictionaryWithObjectsAndKeys:@"1",@"id",@"Test1",@"text", nil];
    NSString *two = [NSDictionary dictionaryWithObjectsAndKeys:@"2",@"id",@"Test2",@"text", nil];
    NSString *three = [NSDictionary dictionaryWithObjectsAndKeys:@"3",@"id",@"Test3",@"text", nil];

    _options = [NSArray arrayWithObjects:one,two,three,nil];

これは、私がコードで使用し、適切に実行しているコードです。今、私は動的にそれをしたい

int total = 20;
    NSMutableArray *arr = [[NSMutableArray alloc] init];
    for(int x = 0; x < total; x++)
    {
        [arr addObject:[NSDictionary dictionaryWithObjectsAndKeys:@"1",@"id",@"Test1",@"text", nil]];
    }

しかし、それは機能していません。誰でも私を助けてくれますか?

メインコードはこんな感じ

_options = [NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:@"1",@"id",@"Test1",@"text", nil],[NSDictionary dictionaryWithObjectsAndKeys:@"1",@"id",@"Test1",@"text", nil],[NSDictionary dictionaryWithObjectsAndKeys:@"1",@"id",@"Test1",@"text", nil],nil];

値が1〜100になるように、動的に作成したいと思います。どうやってやるの

4

2 に答える 2

2

おそらく、プリミティブを NSDictionary に入れようとして問題が発生した可能性がありますが、これは不可能です。値を文字列に変換します。

for(int x = 1; x <= 100; x++) {
    NSString* object1 = [NSString stringWithFormat:@"%d", x];
    NSString* object3 = [NSString stringWithFormat:@"Test%d", x];
    [arr addObject:[NSDictionary dictionaryWithObjectsAndKeys:object1,@"id",object3,@"text", nil]];
}
[_options addObjectsFromArray:arr];
于 2012-11-01T09:02:23.283 に答える
1

あなたがすべき:

int total = 20;
    NSMutableArray *arr = [[NSMutableArray alloc] init];
    for(int x = 0; x < total; x++)
    {
          NSString *idStr = [NSString stringWithFormat:@"%d", x+1];
          [arr addObject:[NSDictionary dictionaryWithObjectsAndKeys: idStr,@"id",@"Test1",@"text", nil]];
    }
于 2012-11-01T09:02:10.713 に答える