Iphone 如何获取存储在NSDocumentsDirectory中的文件名?

Iphone 如何获取存储在NSDocumentsDirectory中的文件名?,iphone,ios,filenames,nsdocumentdirectory,Iphone,Ios,Filenames,Nsdocumentdirectory,我的NSDocuments目录中保存了一些文件,如何获取这些文件的名称,然后在uitableview中显示这些名称 我只想将对象的名称检索为NSString,我可以将文件检索为对象,但不能检索其名称 下面是它的代码: NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths obje

我的NSDocuments目录中保存了一些文件,如何获取这些文件的名称,然后在uitableview中显示这些名称

我只想将对象的名称检索为NSString,我可以将文件检索为对象,但不能检索其名称

下面是它的代码:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

NSError * error;
objectsAtPathArray =  (NSMutableArray*)[[NSFileManager defaultManager]
                      contentsOfDirectoryAtPath:documentsDirectory error:&error];
[objectsAtPathArray removeObjectAtIndex:0];
最后一行是删除.DS_存储文件

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

    objectsAtPathArray = [[[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory error:nil]mutableCopy];

    for(int i = 0; i < [objectsAtPathArray count]; i++)
    {
       if (![[objectsAtPathArray objectAtIndex:i]isEqualToString:@".DS_Store"])
       {
         [NewArray addObject:[objectsAtPathArray objectAtIndex:i]];
          NSLog(@"NewArray=%@",[NewArray objectAtIndex:i]);
       }
     }
NSArray*path=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString*documentsDirectory=[paths objectAtIndex:0];
objectsAtPathArray=[[NSFileManager defaultManager]目录目录目录路径:文档目录错误:nil]mutableCopy];
对于(int i=0;i<[objectsAtPathArray计数];i++)
{
if(![[objectsAtPathArray objectAtIndex:i]IsequalString:@“.DS_存储”])
{
[NewArray addObject:[objectsAtPathArray objectAtIndex:i]];
NSLog(@“NewArray=%@,[NewArray objectAtIndex:i]);
}
}
添加一个(for in)循环对我起了作用

for (NSString *fileName in self.objectsAtPathArray){

   cell.textLabel.text = fileName;
} 

这将正确工作:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSFileManager *manager = [NSFileManager defaultManager];
NSArray *imageFilenames = [manager contentsOfDirectoryAtPath:documentsDirectory error:nil];

for (int i = 0; i < [imageFilenames count]; i++)
    {

    NSString *imageName = [NSString stringWithFormat:@"%@/%@",documentsDirectory,[imageFilenames objectAtIndex:i] ];

        if (![[imageFilenames objectAtIndex:i]isEqualToString:@".DS_Store"])
        {
          UIImage *myimage = [UIImage imageWithContentsOfFile:imageName];
          UIImageView *imageView = [[UIImageView alloc] initWithImage:_myimage];
        }
    }
NSArray*path=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString*documentsDirectory=[paths objectAtIndex:0];
NSFileManager*manager=[NSFileManager defaultManager];
NSArray*imageFilenames=[manager内容目录路径:文档目录错误:nil];
对于(int i=0;i<[imageFilenames计数];i++)
{
NSString*imageName=[NSString stringWithFormat:@“%@/%@”,文档目录[IMAGEFILENAME objectAtIndex:i]];
如果(![[imageFilenames objectAtIndex:i]IsequalString:@“.DS_Store”])
{
UIImage*myimage=[UIImage imageWithContentsOfFile:imageName];
UIImageView*imageView=[[UIImageView alloc]initWithImage:_myimage];
}
}

添加一个(for in)循环成功了,因为(NSString*fileName in self.objectsAtPathArray){cell.textLabel.text=fileName;}所以请复制上面的注释,将其保存到您的答案中,然后提交。当您可以单击复选框接受它时,这将阻止像我这样的人查看似乎是未回答的问题,并且在您获得批准答案的问题数量的评分时,这对您有好处!我试过了。但我在8小时前无法回答自己的问题。因为我没有足够的声誉。我没有删除这个问题,因为我认为它可能会对其他试图找到相同解决方案的人有用。很好-我不建议你删除它-有一个问题得到回答很好,我保证其他人会在以后阅读它,因为它得到了回答!干得好!