0

私は2つの配列を持っています。1 つはボタンのコレクションです。もう 1 つは辞書の配列である必要があります。[arrayListName count] を使用して、コンソールの配列内のオブジェクトの長さ/サイズ/数をログに記録しています。

2012-07-19 19:56:59.001 ABC[3224:707] lastest_badge_outlet_collection count: 4
2012-07-19 19:56:59.007 ABC[3224:707] badges_array count: 1

わかりましたので、このループを実行するときに、配列内に存在する各辞書 (badges_array) のキー値「name」を画像に入力します。現時点では、その配列に辞書が格納されています (これで問題ありません)。ただし、これをループで実行すると、常に 3 番目の画像が読み込まれます。

for(int i = 0; i < [lastest_badge_outlet_collection count]; i++){
        UIButton *button = [lastest_badge_outlet_collection objectAtIndex:i];
        if(i < [badges_array count]){
            NSDictionary *badge_d = [badges_array objectAtIndex:i];
            NSString *badge_d_image_string = [badge_d objectForKey:@"image"];
            UIImage *badge_d_image = [UIImage imageNamed: badge_d_image_string];
            [[button imageView] setImage:badge_d_image];
            [[button imageView] setContentMode: UIViewContentModeScaleAspectFit];
            [button setAlpha:1.0f];
        } else {
            [button setAlpha:0.5f];
        }
    }

理論的には、最初の画像に入力する必要があります。なぜこれを行うのですか?たとえば、アイテムがアウトレットコレクションにある順序をどのように決定しますか...

頭がおかしくなった。

順番に配線して、1つずつコレクションに再配線しようとしましたが、成功しませんでした....

これがスクリーンショットです。

ありがとう!

気が遠くなるような

4

1 に答える 1

1

IBOutletCollection の順序を予測する方法はないと思います。

コレクションを使用する前にソートする必要があると思います。

ボタンごとにプロパティを設定tagし、それらの番号で並べ替えることができます。

詳細については、この回答を確認してください。

于 2012-07-19T19:38:54.350 に答える