Я хотел сделать тестовое приложение для часов Apple, в котором вы можете установить некоторую строку на вашем телефоне, а затем она будет отображаться на Apple Watch. Я решил использовать класс NSUserDefaults для хранения этих данных.
На мой взгляд, контроллер для iPhone у меня есть метод, который берет вход и сохраняет в локальном хранилище:
- (IBAction)saveInfo:(id)sender {
NSString *userInput = [myTextField text];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:userInput forKey:@"savedUserInput"];
[defaults synchronize];
self.myLabel.text = [defaults stringForKey:@"savedUserInput"];
}
И в контроллере интерфейса watch у меня есть метод, который извлекает данные и отображает их:
- (IBAction)showText2 {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults synchronize];
self.myLabel2.text = [defaults stringForKey:@"savedUserInput"];
}
За исключением того, что данные, которые я пытаюсь получить, отображаются как null, а метка не обновляется.