我正在做一個項目,我必須在settings.bundle中檢索一些值。爲此,我必須以這種方式檢索默認值。 我訪問它作爲下如何從settings.bundle訪問值?
但是,當我嘗試打印stringObject
NSLog(@"%@",stringObject);
然後,它總是打印空。 我已經使用鍵「Key_Value」在settings.bundle中保存了一個字符串值。但它返回空值。
告訴我哪裏做錯了
我正在做一個項目,我必須在settings.bundle中檢索一些值。爲此,我必須以這種方式檢索默認值。 我訪問它作爲下如何從settings.bundle訪問值?
但是,當我嘗試打印stringObject
NSLog(@"%@",stringObject);
然後,它總是打印空。 我已經使用鍵「Key_Value」在settings.bundle中保存了一個字符串值。但它返回空值。
告訴我哪裏做錯了
檢查已存儲你這樣看重: -
NSUserDefaults *pref3=[NSUserDefaults standardUserDefaults];
[pref3 setObject:*yourstring* forKey:@"Key_Value"];
[NSUserDefaults resetStandardUserDefaults];
您retreiving的代碼是correct.make肯定stringObject是NSString的類型。
@sanchitsingh我很想知道你的問題是否已經整理出來。 – Gypsa 2011-06-13 10:42:37
我認爲你誤解了這個問題。他將數據存儲在Settings.bundle [這裏](http://stackoverflow.com/questions/6291477/how-to-retrieve-values-from-settings-bundle-in-objective-c),你可以找出什麼是正確答案 – 2015-10-22 14:20:39
調用此函數能夠解決您的問題
- (void)registerDefaultsFromSettingsBundle {
// this function writes default settings as settings
NSString *settingsBundle = [[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"bundle"];
if(!settingsBundle) {
NSLog(@"Could not find Settings.bundle");
return;
}
NSDictionary *settings = [NSDictionary dictionaryWithContentsOfFile:[settingsBundle stringByAppendingPathComponent:@"Root.plist"]];
NSArray *preferences = [settings objectForKey:@"PreferenceSpecifiers"];
NSMutableDictionary *defaultsToRegister = [[NSMutableDictionary alloc] initWithCapacity:[preferences count]];
for(NSDictionary *prefSpecification in preferences) {
NSString *key = [prefSpecification objectForKey:@"Key"];
if(key) {
[defaultsToRegister setObject:[prefSpecification objectForKey:@"DefaultValue"] forKey:key];
NSLog(@"writing as default %@ to the key %@",[prefSpecification objectForKey:@"DefaultValue"],key);
}
[[NSUserDefaults standardUserDefaults] registerDefaults:defaultsToRegister];
}
的
可能重複[如何檢索目標C settings.bundle值?(http://stackoverflow.com/questions/6291477/how-to -retrieve-values-from-settings-bundle-in-objective-c) – Vladimir 2011-06-13 09:40:26
請發佈代碼以顯示如何設置初始值。另外,請記住在設置值後同步UserDefaults。 – 2013-04-29 18:51:00