2012-07-02 49 views
5

當在iCloud中更改文件(無論是添加,刪除或更改內容)時,我想調用我創建的方法([self methodName]),以便我可以使用新文件的名稱更新我的表格視圖。我如何通知文件更改?我是否需要傾聽NSNotification(如果是這樣,是什麼?)還是必須手動檢查?謝謝。如何檢測iCloud中的文件更改時間?

回答

5

我必須聽的NSNotification的名稱是NSMetadataQueryDidUpdateNotification。我就是這麼做的:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryDidUpdate:) name:NSMetadataQueryDidUpdateNotification object:query]; 

... 

-(void)queryDidUpdate:(NSNotification *)notification { 

    //something changed, reload (NSMetadataQuery, create NSPredicate, rerun the query, etc.) 

} 
1

This section of the Apple developer website包含一個偉大的教程,用於設置基於文檔的iCloud應用程序。

但要回答您的問題:只要您的文件是UIDocument您可以註冊通知。只需搜索該頁面「監視文檔狀態更改和處理錯誤」 - 即可獲得大量源代碼。

+0

好的,這是我的問題。我正在使用NSFileManager手動移動和移出我的iCloud容器,而不是UIDocument。我得看看那個。謝謝。 –