2013-01-09 3 views
0

최근에 기사보기의 NSArray를 단일 파일로 저장하는 하나의 로컬 UIDocument가 있습니다.UIDocument 데이터를 업데이트하는 방법

내 앱은 UITabbarController를 기반으로합니다. 한 탭에는 인터넷에서 가져온 기사 목록이 있고, 다른 하나는이 UIDocument로 백업 된 UITableView입니다. 문제가 발생하면 UIDocument가 일단 열리면 업데이트되지 않습니다. 코어 데이터와 NSFetchedResultController를 사용할 때는 controllerWillChangeContent과 완벽하게 작동합니다. 비슷한 UIDocument 있나요?

답변

0

UIDocument는 이에 대해 updateChangeCount을 제공합니다. 변경 한 후에 이것을 UIDocument (서브 클래스)에 보내거나 UIDocument가 selector가 적절하게 설정된 viewcontroller에서 보낸 통지를 수신하게하십시오.

예. UIDocument에서 또한

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

: 당신의 UIDocument 클래스의 초기화에

- (void)somethingChanged { [self updateChangeCount:UIDocumentChangeDone]; }

그리고 뷰 컨트롤러, 내용이 변경, 수행

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

+0

updateChangeCount는 자동 저장 기능을위한 것으로 생각하며 상태를 동기화하는 방법에 대한 답변을 제공하지 않습니다. 열린 두 UIDocument 사이. – sarunw

+0

왜 * 두 * UIDocuments? 당신의 질문은 * one * UIDocument에 관한 것입니다. 자동 저장의 문제점은 무엇입니까? 그 방법도 여기에 설명되어 있습니다 (https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIDocument_Class/UIDocument/UIDocument.html#//apple_ref/doc/uid/). TP40010879) – SAE

+0

하나의 사용자 정의 UIDocument 클래스를 의미하지만 두 인스턴스는이 동일한 문서를 엽니 다 (최근에 저장 한 문서를 저장하기 위해 열리고 다른 하나는 열어 두 번째 탭에서 열 수 있음). 새 문서를 목록에 추가하면 두 번째 탭의 UIDocument 인스턴스가이 변경 사항을 반영하도록 업데이트되지 않습니다. – sarunw

관련 문제