从iOS中的文档目录中按特定文件名检索

时间:2013-06-24 19:01:57

标签: ios cocoa-touch nsmutablearray nsfilemanager

现在我正在使用以下代码通过iOS中的特定名称从文档目录中检索文件。

NSMutableArray *arrayToSearch = [[NSMutableArray alloc] init];

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSError * error;

    arrayToSearch = (NSMutableArray *)[[NSFileManager defaultManager] contentsOfDirectoryAtPath:[NSString stringWithFormat:@"%@/Manual.txt",documentsDirectory] error:&error];

我确信我在文档目录中有Manual.txt文件。

然而,它并没有在tableView中显示任何内容。

我也重新加载tableView。

有什么不对吗?

1 个答案:

答案 0 :(得分:2)

方法是contentsOfDirectoryAtPath:。阅读方法的名称。阅读文档中的说明。您传递的路径必须引用目录,而不是文件。

你要做的事情在逻辑上没有意义。如果您知道某个特定文件,那么为什么要搜索它?为什么要创建数组?

如果您想查看该文件是否存在,请使用fileExistsAtPath:的{​​{1}}方法。

如果您只想要数组中的文件名,请执行以下操作:

NSFileManager

请不要使用NSString *filename = [documentsDirectory stringByAppendingPathComponent:@"Manual.txt"]; [arrayToSearch addObject:filename]; // since the array was pre-allocated 来创建文件名。使用正如我上面所做的stringWithFormat路径方法。