2011-04-15 82 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 

终于不用释放任何对象,你没有使用分配(新,初始化,保留等)。