Я пишу расширение WatchKit для приложения iPhone. Я делюсь основными данными с помощью групп приложений. Это работает, данные разделены. Теперь я хочу обновить данные внутри приложения для iPhone, если приложение работает на переднем плане и новая запись базы данных добавляется из часов в базу данных. Чтобы отслеживать, что я подписался на NSManagedObjectContextDidSaveNotification
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(mergeChanges:)
name:NSManagedObjectContextDidSaveNotification
object:nil];
}
}
метод слияния:
- (void)mergeChanges:(NSNotification *)notification {
if(notification.object != self.managedObjectContext) {
[self performSelectorOnMainThread:@selector(updateMainContext:) withObject:notification waitUntilDone:NO];
}
}
обновить метод основного контекста:
- (void)updateMainContext:(NSNotification *)notification {
assert([NSThread isMainThread]);
[self.managedObjectContext mergeChangesFromContextDidSaveNotification:notification];
}
Я пытаюсь протестировать его на симуляторе (одновременно запустив симулятор iPhone и Watch), но, к сожалению, NSManagedObjectContextDidSaveNotification
не вызывается.
Реально ли это проверить на симуляторе? Если да, то правильный ли это подход?