现在我正在使用以下代码通过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。
有什么不对吗?
答案 0 :(得分:2)
方法是contentsOfDirectoryAtPath:
。阅读方法的名称。阅读文档中的说明。您传递的路径必须引用目录,而不是文件。
你要做的事情在逻辑上没有意义。如果您知道某个特定文件,那么为什么要搜索它?为什么要创建数组?
如果您想查看该文件是否存在,请使用fileExistsAtPath:
的{{1}}方法。
如果您只想要数组中的文件名,请执行以下操作:
NSFileManager
请不要使用NSString *filename = [documentsDirectory stringByAppendingPathComponent:@"Manual.txt"];
[arrayToSearch addObject:filename]; // since the array was pre-allocated
来创建文件名。使用正如我上面所做的stringWithFormat
路径方法。