2014-02-17 35 views
1

我有一個自定義的UIDocument子類並實現了loadFromContents:contentsForType:UIDocument loadFromContents:並非總是在另一臺設備上更改文檔後調用

爲了檢測該文件在另一臺設備上進行更改,我添加了一個委託loadFromContents:的建議在Apple documentation

- (BOOL)loadFromContents:(id)contents ofType:(NSString *)typeName error:(NSError **)outError { 
    // load from disk […] 

    if ([_delegate respondsToSelector:@selector(noteDocumentContentsUpdated:)]) { 
     [_delegate noteDocumentContentsUpdated:self]; 
    } 
    return YES; 
} 

我的問題是,當我換另一臺設備上的文件,我收到文件狀態更改通知(edit_disabled後跟normal),但內容是而不是重新加載,並且loadFromContents:未被調用。

內容肯定是在磁盤上更新的。當我通過用戶界面手動重新打開文檔時,我立即看到最新的更改。

其他時間它的工作和loadFromContents:被自動調用。我無法弄清楚它爲什麼有時不起作用。有其他人看到這個問題嗎?

回答

0

您可能希望在通知和/或重新加載文檔後手動執行文檔版本解析,之後它將再次處於正常狀態。

請看下面UIDocument方法只需重新加載文檔的內容:

- (void)revertToContentsOfURL:(NSURL *)url completionHandler:(void (^)(BOOL success))completionHandler; 
相關問題