• 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
[SOLVED] Re: Linking a specific controller instance to user defaults
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SOLVED] Re: Linking a specific controller instance to user defaults


  • Subject: [SOLVED] Re: Linking a specific controller instance to user defaults
  • From: Graham Cox <email@hidden>
  • Date: Thu, 6 May 2010 11:41:05 +1000

Hi Quincey. That occurred to me too but seems a bit hackish.

I solved it by asking the delegate for the settings name root. The delegate is a distinct class in this case, so it can return a unique string, and the delegate can be set in IB and so is available at -awakeFromNib time. Works well in this case though if the delegate weren't a unique instance it would simply move the problem elsewhere - though I guess you could just keep going up through a chain of delegates until someone could return an unambiguous answer...

--Graham


On 06/05/2010, at 3:22 AM, Quincey Morris wrote:

> On May 5, 2010, at 05:42, Graham Cox wrote:
>
>> The problem should be obvious - how to ensure that each instance of the controller can use a specific unique key in the user defaults. Creating a unique key is easy, but at load time how to calculate the exact same key for the specific instance is not. I thought of adding a 'settings name' property that was used to prefix the key but there's no way to set it earlier than -awakeFromNib time from some external object that "knows" which instance it is using. Ideally the settings name could be set for the instance in IB, but since this is a generic NSObject subclass I can't do that without making an IB plugin just to set it, which seems like major overkill.
>>
>> Is there another way to set the settings name just in time?
>
> The first thing that sprang to mind was to use two different subclasses of the controller. Then either test the class name, or have the subclasses return a unique name or key (that's built into the subclass so you don't have to set it in IB).

_______________________________________________

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: [SOLVED] Re: Linking a specific controller instance to user defaults
      • From: Reinhard Segeler <email@hidden>
References: 
 >Linking a specific controller instance to user defaults (From: Graham Cox <email@hidden>)
 >Re: Linking a specific controller instance to user defaults (From: Quincey Morris <email@hidden>)

  • Prev by Date: Re: Custom NSPathControl
  • Next by Date: table view text cells: align vertically
  • Previous by thread: Re: Linking a specific controller instance to user defaults
  • Next by thread: Re: [SOLVED] Re: Linking a specific controller instance to user defaults
  • Index(es):
    • Date
    • Thread