• 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: Localized sorting of a Core Data entity
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Localized sorting of a Core Data entity


  • Subject: Re: Localized sorting of a Core Data entity
  • From: Chase Latta <email@hidden>
  • Date: Thu, 07 Apr 2011 11:23:31 -0700

This is just a shot in the dark and I am not sure how feasible it is,
but, could you have put a property on your entity that is
non-transient and represents the current localized representation of
the string.  This way you could do something like this when fetching
your values:

if (storedLanguage != currentLanguage) {
    [self translateStoredNamesToNewLanguage];
    storedLanguage = currentLanguage;
}

// fetch strings
NSSortDescriptor *sortDescriptor =
[[NSSortDescriptor alloc] initWithKey:"translatedRepresentationOfName"
ascending:YES
selector:@selector(localizedCaseInsensitiveCompare:)];

// …

You would then have a function
-- (void)translateStoredNamesToNewLanguage
{
    for ( /* all names in core data database */ ) {
        entity.translatedRepresentationOfName =
            NSLocalizedString(entity.name, nil)
    }
    // Save your manage object
}

Assuming that your users won't be changing their language that often
the overhead in translating the names would be very limited.  Also, I
don't actually know if you can register to receive notifications when
the user changes their language preference, so if you can't, I don't
think this approach would work, but if you can it might be worth a
shot.

Chase

On Thu, Apr 7, 2011 at 10:41 AM, Quincey Morris
<email@hidden> wrote:
> On Apr 7, 2011, at 10:30, Dado Colussi wrote:
>
>> "The SQL store, on the other hand, compiles the predicate and sort descriptors to SQL and evaluates the result in the database itself. This is done primarily for performance, but it means that evaluation happens in a non-Cocoa environment, and so sort descriptors (or predicates) that rely on Cocoa cannot work." [1]
>>
>> [1] http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdPersistentStores.html
>
> Ah, thanks for finding it. It's some distance away from the place I was looking. Also, later in the same paragraph:
>
>> In addition you cannot sort on transient properties using the SQLite store.
>
> which nixes the other idea too.
>
>
> _______________________________________________
>
> 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

  • Follow-Ups:
    • Re: Localized sorting of a Core Data entity
      • From: WT <email@hidden>
    • Re: Localized sorting of a Core Data entity
      • From: Quincey Morris <email@hidden>
References: 
 >Localized sorting of a Core Data entity (From: Ray <email@hidden>)
 >Re: Localized sorting of a Core Data entity (From: Quincey Morris <email@hidden>)
 >Re: Localized sorting of a Core Data entity (From: Ray <email@hidden>)
 >Re: Localized sorting of a Core Data entity (From: Quincey Morris <email@hidden>)
 >Re: Localized sorting of a Core Data entity (From: Dado Colussi <email@hidden>)
 >Re: Localized sorting of a Core Data entity (From: Quincey Morris <email@hidden>)

  • Prev by Date: Re: Localized sorting of a Core Data entity
  • Next by Date: Re: Localized sorting of a Core Data entity
  • Previous by thread: Re: Localized sorting of a Core Data entity
  • Next by thread: Re: Localized sorting of a Core Data entity
  • Index(es):
    • Date
    • Thread