2013-05-14 21 views
0

我正在使用Dropbox核心API備份/上傳核心日期sqllite文件,用戶圖像和plist文件。我不想保留備份版本。我只是想保持最新的文件,每當用戶點擊備份按鈕,所以我想首先[restClient deletePath:@"/myBackupFolder"]然後上傳所有的文件。Dropbox iOS Core API:如何確保在uploadFile之前首先將DBRestClient deletedPath首先刪除?

但是,由於刪除和上傳都在後臺同步運行,有時候刪除運行優先,有時上傳運行優先。我如何確保首先運行刪除然後上傳?

此外,協議

- (void)restClient:(DBRestClient*)client uploadedFile:(NSString*)destPath 
from:(NSString*)srcPath metadata:(DBMetadata*)metadata 

被稱爲每次文件已成功上載時間。我想在成功上傳所有文件時設置UIAlertView。每次成功上傳時我都不需要提醒。我怎麼做?

謝謝

回答

2

直到刪除完成後纔開始上載。換句話說,開始上傳當你調用:

- (void)restClient:(DBRestClient*)client deletedPath:(NSString *)path; 

的上傳的,你知道你需要多少文件上傳。跟蹤撥打restClient:uploadedFile:的電話數量。當計數達到合適的總數時,您知道這是最後一次上傳。您現在可以顯示警報。

+0

我希望有一個更乾淨的方式來做我想做的事。我能夠用你的方法做到我想做的一切。現在我遇到了另一個我希望你可以幫忙的問題。 我得到了備份和恢復工作正常。但是,在基本上用本地文件(核心數據sqllite文件,圖像和plist)替換Dropbox中的所有備份文件的還原後,核心數據在還原後不會顯示。我必須重新編譯應用程序或從碼頭關閉應用程序,然後再次運行它以顯示核心數據。如何在恢復後立即顯示核心數據?謝謝 – imObjCSwifting 2013-05-14 16:27:20

+0

完全替換文件後處理核心數據是一個完全獨立的問題,需要完全不同的技能組合。我建議你在這個主題上搜索一下。如果找不到答案,請提出特定於核心數據問題的新問題。 – rmaddy 2013-05-14 17:19:05

+0

我重置persistentStoreCoordinator加載恢復的sqlite文件,它的工作。 – imObjCSwifting 2013-05-14 19:50:58