• 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: "theme" sets with NSUserDefaults
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "theme" sets with NSUserDefaults


  • Subject: Re: "theme" sets with NSUserDefaults
  • From: James Bucanek <email@hidden>
  • Date: Tue, 4 May 2010 08:07:15 -0700

John Stoneham <mailto:email@hidden> wrote (Monday, May 3, 2010 6:59 AM -0500):

Here's the scenario. In my (OS X) app's preferences, I'd like the user to be
able select between sets of preference settings, and I'd like to be able to
use NSUserDefaults for this without having to deal with extra plists.

Here's an example to illustrate the idea. On the preferences page there is a
combo box, where the user can pick a "theme" or enter the name of a new
theme. The settings for the theme are some check buttons which have
different states for the different themes. Obviously, the current state is
easy with NSUserDefaults. But I can't figure out how to have each "theme"
state stored in NSUserDefaults.

I think what you're trying to do is create a set of nested pref values that can get swapped out, while accessing the current set using bindings.


The approach I'd take is to organize all of the theme-related settings into a single dictionary. You can then store one dictionary in NSUserDefaults as the current or active theme set (i.e. "ActiveTheme"). Now set all of your bindings to reference the values in that dictionary (i.e. button.value = ActiveTheme.someSetting).

Now, create an array or another dictionary where you can store all of the themes that aren't active (i.e. "InactiveThemes"). When the user choose a theme, insert the active theme into the inactive collection and replace the active theme dictionary with the chosen one. Writing both back to the NSUserDefaults should notify any observers that the values along those key-value-paths have changed.

--
James Bucanek

_______________________________________________

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: "theme" sets with NSUserDefaults
      • From: John Stoneham <email@hidden>
References: 
 >"theme" sets with NSUserDefaults (From: John Stoneham <email@hidden>)

  • Prev by Date: Re: NSTableView Loading Question
  • Next by Date: Re: "theme" sets with NSUserDefaults
  • Previous by thread: Re: "theme" sets with NSUserDefaults
  • Next by thread: Re: "theme" sets with NSUserDefaults
  • Index(es):
    • Date
    • Thread