1
我试图根据用户是否选择了一个开关来显示数据。用户将有能力选择一个或两个开关,既可以在一个开关上,也可以在一个开关上或另一个开关上。数据将根据交换机的状态显示。基于uiswitch状态显示数据
我设法得到这个从plist文件敢数组加载但其只显示数据,它不管dosnt其状态的开关是它的显示器不敢真理或两者兼而有之。
- (IBAction)shownext:(id)sender {
if (!self.plistArray) {
NSString *path = [[NSBundle mainBundle] pathForResource:
@"data" ofType:@"plist"];
NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
if ([[defaults objectForKey:@"truthonoff"] isEqualToString:@"YES"] && [[defaults objectForKey:@"dareonoff"] isEqualToString:@"YES"] ) {
NSDictionary *plistDict1 = [[NSDictionary alloc] initWithContentsOfFile:path];
NSArray * plistArray1 = plistDict1[@"truth"];
NSDictionary *plistDict2 = [[NSDictionary alloc] initWithContentsOfFile:path];
NSArray *plistArray2 = plistDict2[@"dare"];
self.plistArray = [[plistArray1 arrayByAddingObjectsFromArray:plistArray2] mutableCopy];
} else if ([[defaults objectForKey:@"truthonoff"] isEqualToString:@"YES"]) {
NSDictionary *plistDict3 = [[NSDictionary alloc] initWithContentsOfFile:path];
NSArray *plistArray3 = plistDict3[@"truth"] ;
self.plistArray = [plistArray3 mutableCopy];
NSLog(@"%@", plistArray);
} else ([[defaults objectForKey:@"dareonoff"] isEqualToString:@"YES"]); {
NSDictionary *plistDict4 = [[NSDictionary alloc] initWithContentsOfFile:path];
NSMutableArray *plistArray4 = plistDict4[@"dare"];
self.plistArray = [plistArray4 mutableCopy];
NSLog(@"%@", plistArray);
}
}
}
-(void)stateSwitched:(id)sender {
UISwitch *tswitch = (UISwitch *)sender;
NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
[defaults setObject: tswitch.isOn ? @"YES" : @"NO" forKey:@"truthonoff"];
[defaults synchronize];
}
-(void)stateSwitcheddare:(id)sender {
UISwitch *tswitch = (UISwitch *)sender;
NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
[defaults setObject: tswitch.isOn ? @"YES" : @"NO" forKey:@"dareonoff"];
[defaults synchronize];
}
这是我设置对象
嘿对不起已故的答复已经out信号。我已经给了这个去了,我得到了错误,我认为这可能是因为我没有impolmenting boolforkey正确,你能建议吗?错误是第一条if语句? – user3246508
- (void)stateSwitched:(id)sender {UISwitch * tswitch =(UISwitch *)sender; NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults]; [默认setObject:tswitch.isOn? @“YES”:@“NO”forKey:@“truthonoff”]; [defaults synchronize]; } – user3246508
解决了谢谢ypur帮助 – user3246508