gpt4 book ai didi

ios - 将存储在NSArray中的图像添加到UITableView

转载 作者:行者123 更新时间:2023-12-01 18:13:42 25 4
gpt4 key购买 nike

首先,我是编程新手,我试图制作一个具有UITableView并显示存储在数组中的名称并显示每个名称旁边的图像(图标)的应用程序。我在捆绑包中添加了三个图像,并将它们命名为1.jpg2.jpg3.jpg

该应用程序运行良好,但是在告诉该应用程序我要显示存储在数组中的图像并运行该应用程序后,iOS模拟器最初可以运行,但随后在main.m文件中出现绿色错误?

下面是我的实现文件:

NSMutableArray *myImages;
NSMutableArray *myNames;

@implementation ViewController

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

myNames = [[NSMutableArray alloc ]initWithObjects:@"A",@"B",@"C", nil];

for (int imageNumber =1 ; imageNumber <= 3; imageNumber++) {
myImages= [[NSMutableArray alloc]initWithObjects:[[NSString stringWithFormat:@"%i.jpg", imageNumber ]], nil];
}
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return myNames.count;
}


-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell =[tableView dequeueReusableCellWithIdentifier:@"cell"];

cell.textLabel.text = myNames[indexPath.row];

//everything works fine until i add this line

cell.imageView.image = myImages [indexPath.row];
return cell;
}

最佳答案

您的图像名称数组应与名称数组的长度匹配。将它们都配置为文字,然后尝试。也就是说,像这样初始化数组:

NSArray *myNames = @[@"A", @"B", @"C"];
NSArray *myImages = @[@"1.jpg", @"2.jpg", @"3.jpg"];

您也可以通过更改图像循环来修复它,以免在每次迭代时都不会创建新的NSMutableArray:
myImages = [NSMutableArray array];
for (int imageNumber =1 ; imageNumber <= 3; imageNumber++) {
[myImages addObject:[NSString stringWithFormat:@"%i.jpg", imageNumber]];
}

请注意,您需要使用图像名称创建图像:
UIImage *actualImage = [UIImage imageNamed:myImages[indexPath.row]];

关于ios - 将存储在NSArray中的图像添加到UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25081782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com