【发布时间】:2014-08-08 10:13:29
【问题描述】:
我对 iOS 很陌生,所以这是我的问题。我有一个表格视图(GuestTableViewController),列出了聚会中的一些客人。当我点击一个人时,我会显示一个新视图 (GuestInfoViewController),其中包含有关此与会者的一些信息。在这个视图中我有开关按钮,所以如果我有 3 个人,将有 3 个开关指示每个人是否来。
在我的 GuestInfoViewController 的 IBAction 中使用 NSUserDefaults 我已实现在视图之间保存其状态(开/关)。
问题是当我点击一个开关时,所有开关都会改变状态。如何引用每个开关。
注意:如果需要,我可以在故事板上发布图像,甚至可以发布一些代码。
非常感谢!
@implementation GuestInfoViewController
@synthesize nom,cognoms,foto;
@synthesize setNom,setCognoms,setFoto;
@synthesize mySwitch;
- (void)viewDidLoad
{
[super viewDidLoad];
nom.text = setNom;
cognoms.text = setCognoms;
[foto setImage:[UIImage imageNamed:setFoto]];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"SwitchState"])
self.mySwitch.on = [defaults boolForKey:@"SwitchState"];
}
- (IBAction)switch:(id)sender {
if(mySwitch.on){
NSLog(@"Switch is ON");
}
if(!mySwitch.on){
NSLog(@"Switch is OFF");
}
}
- (IBAction)saveSwitchState:(id)sender
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([self.mySwitch isOn])
[defaults setBool:YES forKey:@"SwitchState"];
else
[defaults setBool:NO forKey:@"SwitchState"];
}
@end
【问题讨论】:
-
您使用的是一个开关还是三个不同的开关?
-
单个视图中只有 1 个
-
好的,所以有 3 个视图和 3 个开关,对吗?
-
问题不清楚,希望您需要
tag属性。 -
是的,没错@MohitPopat
标签: ios ios7 xcode5 nsuserdefaults uiswitch