gpt4 book ai didi

ios - Settings Bundle 切换开关只返回 YES

转载 作者:行者123 更新时间:2023-11-28 21:43:09 27 4
gpt4 key购买 nike

我在我的应用程序中添加了一个设置包,其中包含许多切换开关,它用于显示不同的图像,具体取决于哪个切换处于事件状态。这第一次工作正常,但一旦将值设置为 YES,它总是返回 YES。

我已经使用下面的方法删除了 NSUserDefaults 中的数据

NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];

如果在每次启动应用程序之前更改设置,这将起作用。 (不理想)。有没有人遇到过这个并且知道如何更新和保留这些值?下面是我从 BOOL 值中检索和查看的代码

BOOL setImageOne = (BOOL)[[NSUserDefaults standardUserDefaults]valueForKey:@"ladbrokes"];
BOOL setImageTwo = (BOOL)[[NSUserDefaults standardUserDefaults]valueForKey:@"williamHill"];

if (setImageOne) {
self.clientLogoImageView.image = [UIImage imageNamed:@"clientOneLogo.png"];
}

if (setImageTwo) {
self.clientLogoImageView.image = [UIImage imageNamed:@"clientTwoLogo.png"];
}

NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];

最佳答案

bool 将存储在 NSNumber 对象中,因为基本类型不能存储在 Objective-C 集合类中,所以此声明:

BOOL setImageOne = (BOOL)[[NSUserDefaults standardUserDefaults]valueForKey:@"ladbrokes"];

基本相同:

NSNumber *boolObj = @(NO);
BOOL b = (BOOL)boolObj; // b == YES

当你的意图是:

BOOL b = [boolObj boolValue];   // b == NO

改用[NSUserDefaults boolForKey]

关于ios - Settings Bundle 切换开关只返回 YES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31296488/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com