gpt4 book ai didi

ios - 有没有更好的方法将此调用写入大量 NSUserDefault BOOLS?

转载 作者:行者123 更新时间:2023-11-29 12:38:49 25 4
gpt4 key购买 nike

我正在努力优化我的代码并改进我的编程。我正在查看不断更新的声明。

是否有更好的方法来正确调用大量 BOOLS?是否可以将它们包含在 FOR 语句中?

baseballHat = [[NSUserDefaults standardUserDefaults] boolForKey:
@"baseballHat"];

asianHat = [[NSUserDefaults standardUserDefaults] boolForKey: @"asianHat"];

cowboyHat = [[NSUserDefaults standardUserDefaults] boolForKey: @"cowboyHat"];

topHat = [[NSUserDefaults standardUserDefaults] boolForKey: @"topHat"];

partyHat = [[NSUserDefaults standardUserDefaults] boolForKey: @"partyHat"];

sumbreroHat = [[NSUserDefaults standardUserDefaults] boolForKey: @"sumbreroHat"];

wizardHat = [[NSUserDefaults standardUserDefaults] boolForKey: @"wizardHat"];

beretHat = [[NSUserDefaults standardUserDefaults] boolForKey: @"beretHat"];

pirateHat = [[NSUserDefaults standardUserDefaults] boolForKey: @"pirateHat"];

vikingHelmet = [[NSUserDefaults standardUserDefaults] boolForKey: @"vikingHelmet"];


if(baseballHat == YES){

_baseballWearBut.visible = YES;
_baseballHatOwned.visible = YES;

}
if(topHat == YES){

//Continue with if statements

最佳答案

这应该可以解决问题:

NSArray *array = @[@"baseball", @"asian", @"cowboy", @"top"]; //and the other ones
for (NSString *prefixKey in array)
{
NSString *key = [NSString stringWithFormat:@"%@Hat", prefixKey];
BOOL boolValue = [[NSUserDefaults standardUserDefaults] boolForKey:key];
[self setValue:@(boolValue) forKey:key];
}

我不推荐它,我不喜欢通过“他们的名字”调用变量(使用 valueForKey:)。

另一种方法是使用 NSDictionaryNSArray,但随后,您需要将 BOOL 封装到对象 ( NSNumber 例如),并且可以添加另一个级别。
您可能需要重新考虑您的架构应用。
Hat 只是一个 BOOL 吗?它有更多信息吗?它可能只是一个不同对象的 var(例如,使用 var hat 创建一个类)吗?
您可以为 TRUE 设置不同的帽子值吗?如果没有,也许使用 enumdef 可能是一个很好的解决方案。

关于ios - 有没有更好的方法将此调用写入大量 NSUserDefault BOOLS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25546928/

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