2013-12-22 5 views
0

일부 데이터를 업로드하는 Parse 백그라운드 블록이 있습니다. 이것은 다른 뷰 컨트롤러 (내 테이블 뷰가있는 곳)에 푸시 된 뷰 컨트롤러 (addDataViewController이라고 함)에서 발생하며 tableViewController을 호출 할 수 있습니다. 데이터 업로드가 완료되면 해당 tableView를 다시로드해야합니다. 필자 테이블 재로드하기 푸시보기 컨트롤러에서 하나의보기 컨트롤러보기

//In addDataViewController 
//when the data finishes uploading 
self.navigationController.viewControllers objectAtIndex:0]; 

을하고 시도 그래서 필자는 내 스토리 보드에 내장 된 네비게이션 컨트롤러를 가지고 있지만 어떤 이유로의 ViewController 스택 nil했다.

그런 다음 tableViewController의 세그먼트를 준비 할 때 을 addDataViewController의 속성으로 참조하려고했습니다. 나는 tableView 객체 참조 다음 addDataViewController

//in prepare for segue of tableViewController 
dataViewController.tableViewController = self; 

의 내 시간 파일에 tableViewController 속성을 추가 reloadData라고,하지만 아무것도 일한 것

[self.tableViewController.tableView reloadData]; 
나는 그 확실히 생각

일어날 것 같았다 없지만, didnt. 어떤 아이디어?

답변

0

한 가지 방법은 알림을 사용하는 것입니다. 당신의 addDataViewController에 당신은 업데이트가 완료되면, 알림을 해고 :

[[NSNotificationCenter defaultCenter] postNotificationName:@"UpdateDone" object:nil]; 

당신의 tableViewController 당신이있는 viewDidLoad에서 알림에 가입 할 것 : 다음

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(doSomething) 
              name:@"UpdateDone" 
              object:nil]; 

과 :

-(void)doSomething { 
    [self.tableView reloadData]; 
} 
+0

괜찮습니다. – Stonep123

+0

흠, 내 dataViewController에 알림이 설정되지만 선택기가 내 tableViewController에서 실행되지 않습니다. – Stonep123

+0

실제로는, 그래도 아무것도. 그것과 같은 내 tableView 그냥 몇 가지 이유로 다시로드하지 않을거야 – Stonep123

0

뷰 컨트롤러를 가져 오려면 [self.addChildViewController : tableViewController.view]를 사용해야합니다.

희망이 도움이 될 것입니다.

관련 문제