0
NSFileManager *fileManager= [[NSFileManager alloc]init];
    NSDirectoryEnumerator *myEnumerator= [fileManager enumeratorAtPath:[[theFolder URLByDeletingLastPathComponent]path]];
    int f,size=0;
    NSMutableArray *dirList=[[NSMutableArray alloc]init];
    NSString *fpath;
    while (fpath=[myEnumerator nextObject])
    {
        [dirList addObject:fpath];

    }
    [dirList sortedArrayUsingSelector:@selector(localizedStandardCompare:)];

dirList には、「name_0012345.tif」のようなファイル名が含まれています。並べ替えにもかかわらず、名前で並べ替えられたファインダーで表示される順序で配列にファイルが含まれていません。

4

2 に答える 2

8

-sortedArrayUsingSelector:実際には、新しい並べ替えNSArrayられた配列を返すメソッドです (すぐに無視します)。これは、既存の配列自体を再配置する方法です。-sortUsingSelector:NSMutableArray

Cocoa では、オブジェクトの変更された不変バージョンを返すためのメソッドと、変更可能なオブジェクト自体を変更するための別のメソッド ( -stringByAppendingString:and-appendString:など) を持つことは非常に一般的です。

于 2013-08-22T11:07:52.480 に答える
1

From NSArray クラス リファレンス 指定されたセレクターによって指定された比較方法によって決定される、受信配列の要素を昇順でリストsortedArrayUsingSelector: する配列を返します。

于 2013-08-22T11:09:23.313 に答える