【问题标题】:Objective c -enumaeratorAtPath: Not Working at root level foldersObjective c -enumaeratorAtPath:不在根级文件夹中工作
【发布时间】:2015-05-21 06:16:33
【问题描述】:

我正在尝试枚举根级别的文件和文件夹

 (/Users/Myname/Desktop or /Users/Myname/Documents),[enumarator nextobject] always gives nil value.

我该如何解决这个问题。

NSDirectoryEnumerator* enumerator = [[NSFileManager defaultManager] enumeratorAtPath:@"/Users/Myname/Desktop"];

NSString *content=  [enumerator nextObject];//content always nil.

【问题讨论】:

  • @AminNegm-code 添加。
  • 您不应将文档路径作为文字输入,而应使用NSSearchPathForDirectoriesInDomains()
  • 感谢您的回复@AminNegm-Awad。我都试过了,但都不起作用,我怀疑是沙盒造成了这个问题。
  • 是的,沙盒造成了这个问题。

标签: objective-c macos nsfilemanager


【解决方案1】:

试试这个:

 NSFileManager *fileManager = [NSFileManager defaultManager];
 NSDirectoryEnumerator * emuerator = [fileManager enumeratorAtPath:@"/usr/Myname/Desktop"]; 
 NSString *filename; while ((filename = [emuerator 
 nextObject])) 
   {
    NSLog (@"file!  %@", filename); 
   }

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

NSFileManager *manager = [[NSFileManager alloc] init];
NSDirectoryEnumerator *emuerator= [manager enumeratorAtPath: @"/usr/Myname/Desktop"];


for (NSString *filename in emuerator) {
    // Do something with file
}

[manager release];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-18
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 2011-07-05
    • 2016-07-06
    • 2015-12-11
    • 2015-03-30
    相关资源
    最近更新 更多