Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Here is Ojas's code modified a bit further to account for ARC.</p> <p>You would probably call initializeSettings from your AppDelegate didFinishLaunchingWithOptions.</p> <pre><code>#import "IASKSettingsReader.h" ... - (void)initializeSettings { // standard stored preference values NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; // settings files to process NSMutableArray *preferenceFiles = [[NSMutableArray alloc] init]; // begin with Root file [preferenceFiles addObject:@"Root"]; // as other settings files are discovered will be added to preferencesFiles while ([preferenceFiles count] &gt; 0) { // init IASKSettingsReader for current settings file NSString *file = [preferenceFiles lastObject]; [preferenceFiles removeLastObject]; IASKSettingsReader *settingsReader = [[IASKSettingsReader alloc] initWithFile:file]; // extract preference specifiers NSArray *preferenceSpecifiers = [[settingsReader settingsBundle] objectForKey:kIASKPreferenceSpecifiers]; // process each specifier in the current settings file for (NSDictionary *specifier in preferenceSpecifiers) { // get type of current specifier NSString *type = [specifier objectForKey:kIASKType]; // need to check child pane specifier for additional file if ([type isEqualToString:kIASKPSChildPaneSpecifier]) { [preferenceFiles addObject:[specifier objectForKey:kIASKFile]]; } else { // check if current specifier has a default value id defaultValue = [specifier objectForKey:kIASKDefaultValue]; if (defaultValue) { // get key from specifier and current stored preference value NSString *key = [specifier objectForKey:kIASKKey]; id value = [defaults objectForKey:key]; // update preference value with default value if necessary if (key &amp;&amp; value == nil) { [defaults setObject:defaultValue forKey:key]; } } } } } // synchronize stored preference values [defaults synchronize]; } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload