보기 컨트롤러 (보기 컨트롤러 1)에서 핵심 데이터를 사용하는 테이블 뷰의 데이터를 새로 고치려고합니다. 값을 핵심 데이터로 저장하는 데 사용되는 저장 버튼 (UIButton)은 다른보기 컨트롤러 (보기 컨트롤러 2)에 있습니다.다른 클래스의 핵심 데이터 테이블 뷰 다시로드
이들은 모두 iPad의 동일한 화면에 동시에 있지만 컨테이너보기를 사용하여 별도의 클래스 (헤더 및 기본 파일)를 가지고 있습니다. 보기 컨트롤러 1에서 저장 단추를 클릭하면보기 컨트롤러 2에있는 테이블보기가 새로 고쳐지지 않습니다.
그러나 핵심 데이터로 데이터를 저장하는 방식이 아니라는 것을 알고 있습니다. 응용 프로그램을 새로 고치면 새 셀이 예상 한 것처럼 테이블보기에서 팝업됩니다. 나는 행운과 새로 테이블보기를 시도하고 얻을 수있는 다음과 같은 방법을 시도 :
// ViewController1.m (Save Button)
- (IBAction)saveMethod {
//Core Data Save Method Goes Here (Irrelevant)
[self.managedObjectContext save:nil];
//ViewController2 has the table view
ViewController2 *trackingView = [[ViewController2 alloc] init];
trackingView.managedObjectContext = self.managedObjectContext;
[trackingView setupFetchedResultsController];
[trackingView.view setNeedsDisplay];
[trackingView.table reloadData];
}
내가 다른보기 컨트롤러에서 자신을 새로 고치려면이 테이블보기를 이야기하는 방법을 알아낼 수 없습니다.
나는 위의 다음을 시도했다. 그것이 작동 했어야하는 것처럼 보였지만 그렇지 않았다. View Controller에있는 경우 다른 속성을 만들어야합니까? 2 managedObjectContext 속성이 이미 있습니다. 왜냐하면 "self.moc"보다는 "self.managedObjectContext"를 추가하여 시도했기 때문에 작동하지 않았습니다. – Zack
다른 속성을 만들 필요가 없으며 실제 이름은 중요하지 않습니다. 두 뷰 컨트롤러 모두에서'managedObjectContext'가 오랫동안 같은 객체를 가리키고 있기 때문입니다. –
그래, 그게 내가 생각한거야. 두 managedObjectContext는 App Delegate를 가리키고 있습니다. – Zack