0

我已将图像保存在 @"/Documents/MyApp%d.png 中,并且我有一个 NSMutableArray,我在其中设置了整数值。例如,我的 NSMutableArray 包含 (2,3,5,6,7,12,14,16)现在在网格中它将向我显示 MyApp2、MyApp3、MyApp5 等等(来自数组)。这是我的网格视图 在此处输入图像描述

假设我单击了 gridview 的第三个索引,即 MyApp5,然后它在 swipeView 中打开。像这样 在此处输入图像描述

当我单击删除图标时,它将删除此图像。请记住,我在 nsmutablearray 中有 (2,3,5,6,7,12,14,16)。当我删除此图像时,我的值更改为(2、3、6、7、12、14、16),这意味着它已成功删除,但是当我再次返回网格视图时,它显示如下。 在此处输入图像描述

我不知道我错在哪里。但是当我返回并再次返回网格视图时,它将正确显示所有图像。

我正在将此代码用于 gridView链接

4

2 回答 2

0

尝试获取如下的 cellIdentifier;(定义int reloader)然后,当您需要重新加载tableview时,尝试增加reloader。我在下面写了我的 reloadData 函数,你可以使用它。

-(NSString *) getCellIdentifier:(NSInteger)index sectionindex:(NSInteger)section{
    return [[[NSString stringWithFormat:@"%i",section] stringByAppendingFormat:@"%i" , index] stringByAppendingFormat:@"%i", reloader];
}

- (UITableViewCell *)tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    NSString *cellIdentifier = [self getCellIdentifier:indexPath.row sectionindex:indexPath.section];
    cell= [tableView dequeueReusableCellWithIdentifier:cellIdentifier]
    if (cell == nil) {
        cell = [[Cell alloc] init];
    }

    cell.label.text = [NSString stringWithFormat:@"(%d,%d)", rowIndex, columnIndex];

    return cell;
}

-(void) reloadData{
    reloader++;
    [tableView reloadData];
}
于 2012-12-19T09:57:44.630 回答
0

UIGridView项目中的 是UITableView. 您是否尝试向其发送reloadData消息?

此外,Apple 保留了UI前缀(以及所有其他两个字母的前缀)。UIGridView使用并非来自 Apple的类是危险的。

于 2012-12-18T18:22:53.453 回答