1

最近我将我的 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];
}
4

1 回答 1

0

我有同样的问题,我花了太多时间试图让它工作,但显然这是 xcode 5 模拟器的问题。

只需在设备上运行它,您应该会看到 nsuserdefaults 可以正常工作。

希望这有帮助。

于 2013-09-29T17:21:16.090 回答