来自sqlite的UITableView图像

时间:2016-04-14 14:20:35

标签: ios uitableview

我想在表格视图中显示不同的图像。我将图像名称存储在sqlite中。所以我想每次我只需要从数据库中询问图像名称并使用

cell.imageView.image = [UIImage imageNamed:[@"%@.jpg",[self.arraySonglistInfo objectAtIndex:indexPath.row] objectAtIndex:picture]]

但有些不对劲。我该怎么办? 方法是:

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

// Configure the cell...

NSInteger picture = [self.database.arrayColumnNames indexOfObject:@"picture"];

cell.imageView.image = [UIImage imageNamed:[@"%@.jpg",[self.arraySonglistInfo objectAtIndex:indexPath.row] objectAtIndex:picture]];

return cell;
}

错误是

Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 3 beyond bounds [0 .. 2]'

并且有一个警告"表达结果未使用"在这一行:

cell.imageView.image = [UIImage imageNamed:[@"%@.jpg",[self.arraySonglistInfo objectAtIndex:indexPath.row] objectAtIndex:picture]];

1 个答案:

答案 0 :(得分:0)

问题在于NSInteger图片行。当需要0到2之间的数字时,该计算产生了数字9223372036854775807。