Image Array=[NSArray arrayWithObjects:[UIImage imageNamed:@"1 (1).gif"],
[UIImage imageNamed:@"1 (2).gif"],[UIImage imageNamed:@"1 (3).gif"],[UIImage imageNamed:@"1 (4).gif"],[UIImage imageNamed:@"1 (5).gif"],[UIImage imageNamed:@"1 (6).gif"],[UIImage imageNamed:@"1 (7).gif"],nil];
//here is another array of objects showing in table view
alphabetsArray =[[NSMutableArray alloc]initWithObjects:@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",@"L",@"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z",nil];
//everything working fine until when i add this code,app crashes with SIGABRT
cell.imageView.image=[UIImage imageNamed:[imageArray objectAtIndex:indexPath.row]];
其实我需要再问一些事情:
答案 0 :(得分:3)
首先,此行[UIImage imageNamed:[imageArray objectAtIndex:indexPath.row]]
存在问题。
[imageArray objectAtIndex:indexPath.row]
在当前实现中返回UIImage对象,并且您正在尝试使用UIImage对象的名称获取UIImage。
您应该直接将UIImage对象返回到cell.imageView.image。
cell.imageView.image = [imageArray objectAtIndex:indexPath.row];
其次,我不确定表中有多少行,但如果索引超过数组中的元素数,方法objectAtIndex可能抛出异常,导致应用程序崩溃。
答案 1 :(得分:1)
1)除非你想拥有相同的号码,否则没有问题。它不会引发错误,但您的应用逻辑将无法正常工作。
2)不是我知道的,虽然很容易做到这一点,使用简单的命名约定,例如image01
,这样你就可以复制并粘贴代码并更改图像的结束数< / p>
3)我不确定你在问什么。
4)通常,您只需要通过drag-N'-drop
或选择文件将图像添加到项目中。核心数据和sqlite适用于您正在开发的实际应用程序,而不是用于在Xcode中存储图像。
至于主要问题,你说你要显示来自NSArray
的图像,如果是这种情况,只需获取tableview的索引路径,然后使用{{1}查找相应的图像}
希望有所帮助:)
答案 2 :(得分:1)
实际上我已经找到了一些东西,有一个简单的方法。
cell.imageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@.gif", [TextShownInTableArray objectAtIndex:indexPath.row]]];
我在这个数组中有字母,我想在每个字母表中使用不同的图像,所以只需在项目中添加与字母相同的图像。这行代码很好用。 TextShownInTableArray是带有文本的数组:)
答案 3 :(得分:0)
Image Array=[NSArray alloc]initWithObjects:[UIImage imageNamed:@"8.gif"],
[UIImage imageNamed:@"2.gif"],[UIImage imageNamed:@"3.gif"],[UIImage imageNamed:@"6.gif"],[UIImage imageNamed:@"5.gif"],[UIImage imageNamed:@"4.gif"],[UIImage imageNamed:@"7.gif"],nil];
您的数组alloc和该数组'保留'此数组并尝试此代码。谢谢
[imageArray retain];
只更改此行的代码。并解决你的问题
cell.imageView.image=[imageArray objectAtIndex:indexPath.row];
我希望这段代码对你有用。检查一下
答案 4 :(得分:0)
cell.imageView.frame = CGRectMake(5, 5, 50, 50);
NSString *imgstr = [[Arr objectAtIndex:indexPath.row] objectForKey:@"thumb"];
cell.imageView.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:imgstr]]];