如何从 NSArray 中删除 .DS_Store? [复制]

Posted

技术标签:

【中文标题】如何从 NSArray 中删除 .DS_Store? [复制]【英文标题】:How to remove .DS_Store from NSArray? [duplicate] 【发布时间】:2014-04-01 06:57:24 【问题描述】:

我有一个代码可以让对象脱离路径 @"/Users/playra/Desktop/2 DivyaLoka/Собрание Тайн"

- (void) setPathProperty:(NSString *)pathProperty

    _pathProperty = pathProperty;
    NSArray* allContents = [[NSFileManager defaultManager]  contentsOfDirectoryAtPath:pathProperty error:nil];
    self.contents = allContents;
    [self.tableView reloadData];
    self.navigationItem.title = [self.pathProperty lastPathComponent];

在这一行下面是对象 .DS_Store

NSArray* allContents = [[NSFileManager defaultManager]  contentsOfDirectoryAtPath:pathProperty error:nil];

如何从那里删除它?

【问题讨论】:

【参考方案1】:

试试这个:

NSMutableArray * dirContents = [[NSMutableArray alloc] initWithArray:docDir];
if([docDir containsObject:@".DS_Store"])

    [dirContents removeObject:@".DS_Store"];

【讨论】:

您确定removeObject: 将删除匹配的字符串还是仅删除特定的对象实例(即字符串常量@".DS_Store")? 是的,它会从数组中删除 +1 但请注意,不需要检查 containsObject @Mayur 它帮助了我。 ***.com/questions/5851164/… NSMutableArray *fullPaths = [NSMutableArray 数组]; NSFileManager *fileManager = [[[NSFileManager alloc] init] autorelease]; NSArray *subpaths = [fileManager subpathsAtPath:filePath]; for (NSString *subpath in subpaths) if ( ![[subpath lastPathComponent] hasPrefix:@"."] && ![[subpath lastPathComponent] isEqualToString:@"Icon\r"]) [fullPaths addObject:[filePath stringByAppendingPathComponent:子路径]]; // 继续 @setoffonom 好的,享受 :)

以上是关于如何从 NSArray 中删除 .DS_Store? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何根据项目内容从 NSArray 中删除项目

从 Mac 上的命令行删除当前文件夹和所有子文件夹中的 .DS_STORE 文件

如何删除mac中的.DS_Store和git中的.DS_Store

从 NSArray 中删除对象

如何忽略未跟踪文件中的 .DS_Store? [复制]

如何从 iOS 的另一个 nsarray 中不存在的核心数据中删除对象?