首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按名称对NSDocumentDirectory进行排序

按名称对NSDocumentDirectory进行排序
EN

Stack Overflow用户
提问于 2013-07-22 18:08:18
回答 3查看 655关注 0票数 2

我想按fileName对所有NSDocumentDirectory进行排序,但是文件夹应该首先按名称排序,然后所有文件都按名称排序。

在我的文档目录中,我也有很多文件和文件夹。

我有这样的数组,

代码语言:javascript
复制
_filePathsArray =[[NSFileManager defaultManager] contentsOfDirectoryAtPath:_selectedPath error:Nil];

提前感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-23 19:08:22

下面的代码帮助我..。感谢朋友们的回复。

代码语言:javascript
复制
NSArray *fileArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:_selectedPath error:Nil];

_filePathsArray = [[NSMutableArray alloc]init];
NSMutableArray *fileArray1 = [[NSMutableArray alloc]init];
for(int i=0;i<[fileArray count];i++)
{
    if ([[[fileArray objectAtIndex:i] pathExtension] isEqualToString:@""])
    {
        [_filePathsArray addObject:[fileArray objectAtIndex:i]];
    }
    else
    {
        [fileArray1 addObject:[fileArray objectAtIndex:i]];
    }

}

[_filePathsArray addObjectsFromArray:fileArray1];
票数 1
EN

Stack Overflow用户

发布于 2013-07-22 18:57:57

您可以通过以下方式按字母顺序对数组进行排序。我不确定文件夹是第一位的。

代码语言:javascript
复制
[myArray sortUsingSelector:@selector(caseInsensitiveCompare:)];

代码语言:javascript
复制
sortedArray = [anArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
票数 6
EN

Stack Overflow用户

发布于 2013-07-22 19:10:59

使用这个。

代码语言:javascript
复制
 [yourArray sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)];

对于NSArray,试试这个。

代码语言:javascript
复制
 NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"interest"  ascending:YES];
[stories sortedArrayUsingDescriptors:[NSArray arrayWithObjects:descriptor,nil]];
recent = [stories copy];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17784837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档