On Aug 28, 2008, at 2:38 PM, Ken Thomases wrote:

On Aug 28, 2008, at 4:03 PM, David Springer wrote:

I use -[NSUserDefaults addSuiteNamed:] to add the defaults from a
previous version of my app to the defaults search domains. This works fine, except I want to remove a certain key/value pair from the suite.
Is there any way to do this?  The best plan I can come up with so far
is to read the old defaults from its plist into an NSMutableDictionary
then add all the keys to the app domain (except the one I want to
remove).  But there does not seem to be any API to get
~/Library/Preferences/foo.plist in a nice localizable way...

Definitely don't access the .plist file directly.

I'll second this. :)

One approach is to drop down to Core Foundation's CFPreferences API.

This is the smallest hammer to use; CFPreferencesSetAppValue() is probably what you want here.

Another is to use the "persistent domain" capabilities of NSUserDefaults. Pull in the dictionary for the domain, make a mutable copy, modify it, and then write the whole domain back out.

This is overkill; use the CFPreferences API instead.

.chris

--
Chris Parker
Cocoa Frameworks
Apple Inc.

_______________________________________________

Cocoa-dev mailing list ([email protected])

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to