我正在编写一个图像编辑工具。我有一个UITableview
显示文档文件夹的内容。这一切都按预期工作。我遇到的问题是在添加新文件或从文件夹中删除文件时。
在调用重新加载数据之前创建或删除我调用的文件时refreshFiles
,使用检查if(cell == nil)
会根据我的文件数组的增加/减少长度创建/删除一个单元格。
最后一个UITableViewCell
然后将数组最后一个位置的文件名作为该字段的名称。但是,新文件名可以位于数组中的任何位置。为了确保显示正确的内容,我删除了if(cell==nil)
检查,然后每次调用它时都会重绘所有单元格。
-(void)refreshFiles {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *pathList = [paths objectAtIndex:0];
NSArray *fileListing = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:pathList error:nil];
NSPredicate *filter = [NSPredicate predicateWithFormat:@"self ENDSWITH '.png'"];
self.fileList = [fileListing filteredArrayUsingPredicate:filter];
[self.fileview reloadData]
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCel *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
// if (cell == nil) {
cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]autorelease];
objectAtIndex:indexPath.row],self.fileList.count,indexPath.row);
cell.textLabel.text = [self.fileList objectAtIndex:indexPath.row];
// }
return cell;
}
然而,这是一种有效的工作方式吗?会导致我的性能问题吗?