我有两节课: 的 MainVC DownloadedFilesView
在MainVC类中,我有一个NSMutableArray,它存储iPhone目录的所有文件的列表。这个数组是我的tableview的数据源(存在于DownloadedFilesView中)。在选择特定行(来自MainVC tableview)后,我将此数据从MainVC发送到DownloadedFilesView,如下所示:
if (indexPath.section == 1) {
DownloadedFilesView *downloadView = [[DownloadedFilesView alloc] initWithNibName:@"DownloadedFilesView" bundle:nil];
int count;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [paths objectAtIndex:0];
NSArray *directoryContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:NULL];
for (count = 0; count < (int)[directoryContent count]; count++)
{
NSString *fileNames = [directoryContent objectAtIndex:count];
[downloadView.arrayOfDirFiles addObject:fileNames];
}
[self.navigationController pushViewController:downloadView animated:YES];
}
我将这个数据源保存到另一个数组“arrayOfDirFiles”(在DownloadedFilesView中)。现在我在
中初始化这个数组initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
像:
arrayOfDirFiles = [[NSMutableArray alloc] init];
现在这个数组是DownloadedFilesView
中我的tableview的数据源tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if (theTableView.editing) {
//arrayOfFileNamesToSave is the array which I want filtered when selecting particular cell
[arrayOfFileNamesToSave addObject:[arrayOfDirFiles objectAtIndex:indexPath.row]];
}
//NSLog(@"aaa....%@",arrayOfFileNamesToSave);
}
现在这是一个错误。使这项工作的最佳方法是什么?请帮忙! 提前谢谢!
答案 0 :(得分:0)
我认为最好的方法是将整个directoryContent数组传递给downloadView。
downloadView.arrayOfDirFiles = directoryContent
请确保在DownloadedFilesView中将arrayOfDirFiles定义为strong / retain。