2013-06-24 38 views
0

现在我使用以下代码通过iOS中的特定名称从文档目录中检索文件。从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:。阅读方法的名称。阅读文档中的描述。您传递的路径必须引用目录,而不是文件。

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

如果您想查看文件是否存在,请使用NSFileManagerfileExistsAtPath:方法。

如果你只是想在阵列中的文件名,然后做:

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

请不要使用stringWithFormat创建的文件名。使用正确的NSString路径方法,就像我上面所做的一样。

+0

是的兄弟。我知道了。但我正在使用NSMutableArray。我可以使用@ [文件名];兄弟? –

+0

由于您之前实际分配了可变更值,因此您应该执行'[arrayToSearch addObject:filename];'。我会更新我的答案。 – rmaddy

相关问题