2013-03-28 6 views
0

내 데이터 저장 방법은 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는 현재 디스플레이보기를 어떻게 유지할 수 있습니까?

도와주세요! 고마워요!

답변

0

SecondVC.isVisible을 확인할 때 방금 생성했기 때문에 SecondVC.isVisible이 표시되지 않으며보기가 아직로드되지 않았기 때문에 표시되지 않습니다. 어떻게 수정해야할지 모르겠다. 컨트롤러 구조에 달려있다. 앱 위임자의 첫 번째 코드인가요?

관련 문제