我使用NSUserDefaults错了吗?

ull*_*ark 4 iphone objective-c

我为我的iPhone应用程序创建了一个"设置"模型.它只包含两个属性和一个用于加载的类方法和一个用于保存的实例方法.

我按如下方式加载它

+ (UserSettings *)getCurrent {
    NSUserDefaults *userPrefs = [NSUserDefaults standardUserDefaults];
    UserSettings *settings = [UserSettings new];
    settings.username = [userPrefs stringForKey:kUserNameKey];
    settings.password = [userPrefs stringForKey:kPasswordKey];
    [userPrefs release];
    return settings;
}
Run Code Online (Sandbox Code Playgroud)

使用NSUserDefault处理异常的问题;

- [NSCFArray objectForKey:]:无法识别的选择器发送到实例0x50b220

我用常量导入了我的标题,定义如下;

#define kUserNameKey    @"Username"
#define kPasswordKey    @"Password"
Run Code Online (Sandbox Code Playgroud)

(我知道钥匙串,并计划稍后更改,但想要解决用户默认)

cob*_*bal 7

尝试删除,[userPrefs release]因为你从未保留或分配它