最近我将我的 Xcode 4.6.3 更新为 Xcode5 DP2。Xcode 4.6.3 中一切正常。我的意思是在 Viewcontroller 内部有一个 UISwitch 和 UIDatePicker 以及两个按钮“设置”和“清除”。当我从 UIDatePicker 中选择特定时间并将 UISwitch 状态更改为“打开”并单击“设置”按钮时,将为所选时间设置警报。如果我将 UISwitch 状态更改为“关闭”,UIDatePicker 将显示当前时间,否则显示所选时间。这在 Xcode 4.6.3 中运行良好。但是在更新到 Xcode5 DP2 之后,每次我切换 UISwitch 状态时,UIDatePicker 都会返回到当前时间,我的意思是即使我在 UIDatePicker 中选择了当前时间以外的时间并将 UISwitch 切换到“on”状态,UIDatePicker 也会返回到当前时间。
这是我的代码:
-(IBAction) switchValueChanged
{
NSString *value = @"OFF";
if (switch1.on)
{
value = @"ON";
[[NSUserDefaults standardUserDefaults] setObject:value forKey:@"stateOfSwitch"];
[switch1 setOn:YES animated:YES];
}
else
{
[datePicker setDate:[NSDate date]];
[[NSUserDefaults standardUserDefaults] setObject:value forKey:@"stateOfSwitch"];
[[UIApplication sharedApplication] cancelAllLocalNotifications];
}
[[NSUserDefaults standardUserDefaults]synchronize];
}