使用NSMutableArray数据处理

时间:2013-10-18 18:18:04

标签: iphone ios objective-c uitableview

我有两节课: 的 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);
}

现在这是一个错误。使这项工作的最佳方法是什么?请帮忙! 提前谢谢!

1 个答案:

答案 0 :(得分:0)

我认为最好的方法是将整个directoryContent数组传递给downloadView。

downloadView.arrayOfDirFiles = directoryContent

请确保在DownloadedFilesView中将arrayOfDirFiles定义为strong / retain。