0

现在我正在使用以下代码在 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。

有什么不对的吗?

4

1 回答 1

2

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

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

如果要查看文件是否存在,请fileExistsAtPath:使用NSFileManager.

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

NSString *filename = [documentsDirectory stringByAppendingPathComponent:@"Manual.txt"];
[arrayToSearch addObject:filename]; // since the array was pre-allocated

请不要stringWithFormat用于创建文件名。NSString像我上面那样使用正确的路径方法。

于 2013-06-24T19:06:41.253 回答