我有一个带有4个viewController的tabBarController。 其中一个是TableViewController。 在tableView的viewDidLoad中,我使用了2个NSMutableArray
list = [[NSMutalbeArray alloc] init];
dates = [[NSMutalbeArray alloc] init];
在viewDidAppear中添加对象
NSError *error;
NSError *error1;
fileManager = [NSFileManager defaultManager];
paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
docsPath = [paths objectAtIndex:0];
for (NSString *file in [fileManager contentsOfDirectoryAtPath:docsPath error:&error]) {
fileFrom = [docsPath stringByAppendingPathComponent:file];
NSDictionary* properties = [[NSFileManager defaultManager]
attributesOfItemAtPath:fileFrom
error:&error1];
NSDate* modDate = [properties objectForKey:NSFileModificationDate];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale: [NSLocale currentLocale]];
[dateFormatter setDateStyle:kCFDateFormatterMediumStyle];
[dateFormatter setTimeStyle:kCFDateFormatterNoStyle];
NSString* dateString = [dateFormatter stringFromDate:modDate];
BOOL isDir;
BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:[NSString stringWithFormat:@"%@/%@", docsPath, file] isDirectory:&isDir];
if (exists && !isDir && ![file hasPrefix:@"."]) {
[list addObject:file];
[dates addObject:dateString];
}
}
[[self tableView] reloadData];
其中每个文件都是documentDirectory中的文件名,dateString是创建日期。
我可以在我的tableView中查看文件列表。
如果我编辑tableView并尝试删除它工作的元素,我可以从文件系统和tableView上删除该元素但是如果我将新文件添加到我的文档目录(就像应用程序一样)我收到一个EXE_BAD_ADDRESS < / p>
- (void)tableView:(UITableView *)tableView commitEditingStyle: (UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
NSString *temp = [list objectAtIndex:indexPath.row];
NSString *lastPath = [docsPath stringByAppendingPathComponent:temp];
[fileManager removeItemAtPath:lastPath error:nil];
[self.list removeObjectAtIndex:indexPath.row];
[self.dates removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];
[self.tableView reloadData];
}
}
有任何建议吗?