如何将NSUserDefaults连接到UISwitch?
|
因此,我已经设置了可以在iPhone的设置应用程序中使用的设置包。我想在自己的应用程序中添加其中一项设置。我知道我可以使用InAppSettings框架,但是我只想添加一个设置,而不是所有设置,并且我已经准备好要添加此设置选项的页面。
因此,我在应用中复制了带有“ 0”的单元格,该单元格看起来与设置之一相同。我的问题是,现在我如何才能将此
UISwitch
连接到我的NSUserDefaults
,使其用作设置UISwitch
?
在我的appDelegate中,我有:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDictionary *appDefaults = [NSDictionary dictionaryWithObject:@\"No\" forKey:@\"isKgs\"];
[defaults registerDefaults:appDefaults];
[defaults synchronize];
编辑-所有相关代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setBool:NO forKey: @\"isKgs\"];
[defaults synchronize];
}
我希望UISwitch在其中的应用程序内的单元格
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UISwitch *switchView = [[UISwitch alloc] initWithFrame:CGRectZero];
cell.accessoryView = switchView;
[switchView addTarget:self action:@selector(switchChanged:) forControlEvents:UIControlEventValueChanged];
[switchView setOn:[[NSUserDefaults standardUserDefaults] boolForKey:@\"isKgs\"] animated:NO];
[switchView release];
}
和设置捆绑在一起,我拥有可以通过iPhone设置应用程序访问的相同UISwitch:
编辑2:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (nil == [defaults objectForKey:@\"isKgs\"])
{
[defaults setBool:NO forKey: @\"isKgs\"];
}
else
{
}
[defaults synchronize];
没有找到相关结果
已邀请:
3 个回复
吠强祷豪硅
然后根据需要使用NSUserDefaults设置中的值创建打开开关的开关:
徐百晴墓斜
但是,如果您使用
,则可以将开关设置为简单的一行:
这意味着您必须返回并设置默认值,如下所示:
眠缝
您可以在switchChanged:函数中将更改写回到userDefaults。 同样,如果您始终在didFinishLaunchingWithOptions中将密钥设置为NO:则它将永远不会反映在设置应用程序中所做的更改,它将始终为NO ....这可能不是您想要的。