0

我有 2 个数组。一个是按钮的集合。另一个应该是字典数组。我正在使用 [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”填充图像。目前我有字典存储在该数组中(这很好)。但是,当我通过循环运行它时,它总是会填充第三个图像

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];
        }
    }

从理论上讲,它应该填充第一张图像。为什么要这样做?例如,它如何决定商品在奥特莱斯系列中的顺序...

脑子里糊涂了。

我尝试通过按顺序将它们连接起来,将它们一个接一个地重新连接到集合中,但没有成功....

这是一个屏幕截图。

谢谢!

难以置信

4

1 回答 1

1

我认为没有办法预测 IBOutletCollection 的顺序。

我想您需要做的是在使用之前对集合进行排序。

您可以tag为每个按钮设置属性并按这些数字对其进行排序。

检查答案以获取更多详细信息。

于 2012-07-19T19:38:54.350 回答