• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Sorting an array
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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>)

  • Prev by Date: MFI Device Picker not displaying
  • Next by Date: Handling of paths through sandbox
  • Previous by thread: Sorting an array
  • Next by thread: Re: Sorting an array
  • Index(es):
    • Date
    • Thread