ios - NSUserDefaults: Registering Defaults For Dictionary/Array values -
the setup
suppose app has nsdictionary store in userdefaults key somedict. dictionary looks this:
key1: value1 key2: value2 key3: value3 when app launches, use [nsuserdefaults registerdefaults:] set initial value of somedict key dictionary above.
then, user changes preferences , dictionary gets updated looks this:
key1: somenewvalue1 key2: value2 key3: value3 the key question
i ship new version of app. new version has somedict 4 initial values instead of three:
key1: value1 key2: value2 key3: value3 key4: somenewvalue the userdefaults domain contains value somedict, set when user ran older version of app. question this: -registerdefaults perform "deep" analysis of nsdictionary , nsarray values?
in other words, -registerdefaults going detect key4 missing old dictionary stored in somedict, or going say, "there's value somedict, we're done"?
i suspect latter. begs next question: there efficient approach handling sort of situation in cocoa, short of writing own "registerdefaults" method?
i don't know "deep" analysis, have updated apps (at app store, , personal use) changing user defaults dictionary, , far, seems work designed. have worked on assumption if new default value appears in updated dictionary, written without reversion of values changed user.
Comments
Post a Comment