这是:
的循环我希望将3张图片(称为1.jpg, 2.jpg, 3.jpg
)添加到表格所拥有的3行中。但是>=
视图没有显示,而==
只有第一行有图像。
for (int i = 0; i >= indexPath.row; i++) {
i++;
NSString *number = [NSString stringWithFormat:@"%d", i];
NSString *format = @".jpg";
NSString *end= [NSString stringWithFormat:@"%@%@", number, format];
cell.imageView.image = [UIImage imageNamed:end];
}
我必须做什么?
答案 0 :(得分:3)
假设你有这样的图像:
0.jpg
1.jpg
2.jpg
...
然后你应该在 cellForRowAtIndexPath:委托方法中执行此操作:
NSString *imageName= [NSString stringWithFormat:@"%d.jpg", indexpath.row];
cell.imageView.image = [UIImage imageNamed:imageName];
不是循环,没有追加。
答案 1 :(得分:1)
你的代码有很多问题,首先让我们从循环中的第一行开始。
i++
会增加i
,这意味着您的步数为2而非1。
第二,你要说的是在i
大于或等于indexPath.row
时保持循环,所以如果indexPath.row
为0,那么这个循环永远不会结束。
第三,你不需要那么多字符串,你可以一次格式化
for (int i = 0; i < indexPath.row; i++) {
NSString *imageName= [NSString stringWithFormat:@"%d.jpg", i+1];
cell.imageView.image = [UIImage imageNamed:imageName];
}
但现在你只是覆盖相同的图像才能获得最新的图像显示。
如果您希望第1行包含1.jpg
和第2行2.jpg
,则根本不需要循环。您可以直接分配图像:
NSString *imageName= [NSString stringWithFormat:@"%d.jpg", indexPath.row+1];
cell.imageView.image = [UIImage imageNamed:imageName];