Re: Sorting an array
Re: Sorting an array
- Subject: Re: Sorting an array
- From: Sandor Szatmari via Cocoa-dev <email@hidden>
- Date: Tue, 11 Feb 2020 11:40:03 -0500
Gabriel,
> On Feb 11, 2020, at 10:36, Gabriel Zachmann via Cocoa-dev
> <email@hidden> wrote:
>
> I have some trivial questions regarding sorting a simple array of strings.
>
> I used to use this code:
>
> NSSortDescriptor *sd = [[NSSortDescriptor alloc] initWithKey: nil
> ascending: YES];//TODO: raus
> [imagefiles_ sortUsingDescriptors: @[sd] ];
Personally I find it awkward to use a sort descriptor with an explicitly nil
key. The API allows it, but it just feels off to me. Are you restricted to
using an SDK that doesn’t have the
-sortedArrayUsingComparator:^NSComparissonResult block parameter? If so, the
selector based API is still pretty clean. Before the block version of the API
we often wrote our own sort methods and used them as the selectors sorting.
Way back, we implemented Cocoa NaturalLanguage sorting for a long time like
this, by wrapping C API in Cocoa. I mention this just to illustrate that you
can do a lot this way.
But ultimately the sorting API you choose should depend on the content of the
array.
Sandor
>
> where imagefiles_ is an NSMutableArray* .
>
> Now, in the developer doc
> (
> https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Collections/Articles/Arrays.html#//apple_ref/doc/uid/20000132-SW5)
>
> I saw a different method. Following that, I was thinking of sorting my array
> like this:
>
> NSArray * sorted_images = [imagefiles_ sortedArrayUsingSelector:
> @selector(localizedStandardCompare:) ];
> imagefiles_ = [NSMutableArray arrayWithArray: sorted_images];
>
> First of all, what are the advantages/disadvantages of either method?
>
> Second, I was wondering if I could write the second method like this:
>
> imagefiles_ = [imagefiles_ sortedArrayUsingSelector:
> @selector(localizedStandardCompare:) ];
>
>
> Thanks a lot in advance.
>
>
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
References: | |
| >Sorting an array (From: Gabriel Zachmann via Cocoa-dev <email@hidden>) |