2010-08-02 14 views
1

주기적으로 동기화 웹 서비스와 동기화되는 iPhone 응용 프로그램을 작성 중입니다. 모든 것이 정상적으로 작동하지만 불행히도 동기화 사용자는 이전에 방문한 사용자가보기에 변경 사항을 보지 못합니다.인터넷에서 동기화 후보기 새로 고침/새로 고침

일부보기를 다시로드하거나 새로 고쳐야합니다. 예를 들어 viewWillAppear 메서드를 사용하면 어떻게 할 수 있습니까?

것은 내보기 컨트롤러 중 하나에서 이런 식으로 뭔가를 시도했다 :

-(void) viewWillAppear:(BOOL)animated 
{ 
     NSArray* sbw = [self.view subviews]; 

     UIView* view; 
     for (view in sbw) 
     { 
      [view setNeedsDisplay]; 
     } 

     [self.view setNeedsDisplay]; 
     [super viewWillAppear]; 

    } 

그러나 파단이 상쾌하지 않다. 보기를 새로 고치거나 새로 고치려면 강제로 수행 할 수있는 방법이 있습니까?

나는이 뷰로 이동할 때 viewWillAppear가 실행된다는 것을 알고 있지만 상쾌하지는 않습니다. 어떻게 할 수 있습니까?

답변

1

tableviews에서 다음을 사용할 수 있습니다. [tableView reloadData]; 테이블 내용을 다시로드하십시오. 뷰 내용을 업데이트하려는 경우 그냥 변경할 수 있습니다. 당신이보기 클래스와 MyUIViewMyUIViewControllerMyUIView 포함 않는 컨트롤러 클래스가 있다면 말할 수 있도록하는 UILabel * myLabel 당신에 의해 컨트롤러 내부의 레이블 텍스트를 변경할 수 있습니다 : 그래서

[((MyUIView *)self.view).myLabel setText:@"This is a new text."]; 

업데이 트를 강제로 필요가 없습니다.

1

"viewWillAppear"메서드를 작성하면 데이터베이스에서 데이터를 가져올 수있는 코드를 다시 작성할 수 있습니다.이 메서드는 뷰가로드되기 시작할 때 실행됩니다.

관련 문제