簡體   English   中英

瀏覽沙盒文件iOS設備

[英]Browse for sandbox files iOS device

我是iOS沙盒的新手。 我試圖列出設備沙箱中的所有文件。 我無法成功

我的代碼是

- (void)viewDidLoad {
    NSLog(@"Files .. %@",[self showFiles]);
}


- (NSMutableArray *)showFiles
{
    NSError *err        = nil;
    NSArray *myPathList = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *myPath    = [myPathList  objectAtIndex:0];
    NSArray *dirContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:myPath error:&err];
    if(err) NSLog(@"showFiles() - ERROR: %@",[err localizedDescription]);
    NSMutableArray *filePaths  = nil;

    int count = (int)[dirContent count];
    for(int i=0; i<count; i++)
    {
        [filePaths addObject:[dirContent objectAtIndex:i]];
    }
    return filePaths;
}

提前致謝

OK,你得到nil為您傳回一個未分配的數組對象:

NSMutableArray *filePaths  = nil;

你要:

NSMutableArray *filePaths  = [NSMutableArray new];

但是,鑒於您正在從dirContent將文件名復制到此數組中,您可以直接返回dirContent

- (NSMutableArray *)showFiles
{
    NSError *err        = nil;
    NSArray *myPathList = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *myPath    = [myPathList  objectAtIndex:0];
    NSArray *dirContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:myPath error:&err];
    if (!dirContent)
        NSLog(@"showFiles() - ERROR: %@",[err localizedDescription]);
    return dirContent;
}

還有一點需要注意:據我所知,您正在獲取Caches文件夾的內容,默認情況下該文件夾為空。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM