2011-04-15 126 views
0

我有一個flipView應用程序。在FlipView上,我保留了MainView的設置,並希望使用NSUserDefaults爲MainView存儲2個整數。我將在主應用程序中使用這些整數。有沒有一些基本的代碼可以實現我想要做的事情?NSUserDefaults - 存儲基本設置

我想在FlipView上存儲信息(如果已更改),並在程序首次在MainView中運行時具有默認設置。我還需要release這個NSUserDefaults對象嗎?

回答

1

您可以將整數存儲與 [NSUserDefaults的standardUserDefaults] setInteger:1 forKey:@ 「theKey」]與retrive它[[NSUserDefaults的standardUserDefautls] integerForKey:@ 「theKey」。這完全是你需要處理一個用戶默認值的整數。

您不釋放NSUserDefaults對象。這是一個單身人士,所以只有一個人會爲你的應用程序的生活創建。你也不擁有它,這意味着你不會釋放它。

+0

將此標記爲答案,因爲我實際上是以此代碼開始的。 – locoboy 2011-04-15 07:28:50

2

看看下面的代碼,我已經包裹,讓您輕鬆,

你可以使用下面的代碼: 進口「Settings.h」在你想使用的任何代碼,(也許AppDelegate.m )在你的情況。然後

達到設定值時,使用

[Settings setSetting:@"AUTOLOGIN" value:@"1"]; 
[Settings setSetting:@"OTHERPROPERTY" value:@"100"]; 

,記住,存儲指針只是數據類型,

得到設定值:

[Settings getSetting:@"AUTOLOGIN"]; 

這裏下面有兩個文件,設置.h和Setting.m,使那些

頭文件是:

#import <Foundation/Foundation.h>  
@interface Settings : NSObject { 

} 
+(id) getSetting:(NSString *)key; 
+(void) setSetting:(NSString *)key value:(id)v; 
@end 

- 和執行文件是

#import "Settings.h" 
@implementation GCCSettings 
static NSMutableDictionary *settings = nil; 

+(id) getSetting:(NSString *)key{ 
    if(settings == nil){ 
     settings = [[NSMutableDictionary alloc] initWithDictionary: 
        [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"settings"] 
        ]; 
    } 
    return [settings objectForKey:key]; 
} 

+(void) setSetting:(NSString *)key value:(id)v{ 
    [settings setValue:v forKey:key]; 
    [[NSUserDefaults standardUserDefaults] setObject:settings forKey:@"settings"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 
} 
@end 

終於不用釋放任何對象,你沒有使用分配(新,初始化,保留等)。