내 데이터 저장 방법은 AppDelegate에 있습니다. 데이터가 데이터베이스에 저장 될 때마다 SecondView isVisible인지 확인해야합니다.
그렇다면 데이터베이스에서 화면의 값을 다시로드하십시오. 그렇지 않은 경우 화면에 최신 값으로보기를 표시합니다. , 볼의에서 IsVisible 반환하지데이터베이스 업데이트를 통해 스토리 보드의보기로 이동
delegate.m
// I want to update view
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
SecondViewController *SecondVC = (SecondViewController *)[storyboard instantiateViewControllerWithIdentifier:@"SecondVC"];
if (SecondVC.isVisible)
{
NSLog(@"SecondVC is visible");
[SecondVC updateDisplayValue];
}
else
{
self.window.rootViewController = SecondVC;
NSLog(@"SecondVC not visible");
}
SecondViewController.m
- (BOOL)isVisible {
return [self isViewLoaded] && self.view.window;
}
- (void)updateDisplayValue
{
[self LatestMeasurementFromSQLite];
[self.date setText:self.measurementTime];
}
그것은 예상대로 작동하지 않습니다 :
나는 이런 식으로 뭔가를하려고 해요 updateDisplayValue는 이미 표시된보기를 업데이트하지 않습니다.
저는 화면에 표시된 것과 다른 SecondVC라는 새로운보기를 다시 시작한다는 것이 문제라고 생각합니다. 그러나 AppDelegate는 현재 디스플레이보기를 어떻게 유지할 수 있습니까?
도와주세요! 고마워요!