簡體   English   中英

Dropbox使用增量IOS檢測文件更改

[英]Dropbox detect file change using delta IOS

我希望通知用戶Dropbox文件夾中是否有文件更改。 為此,我必須使用以下代碼:

[self.restCLient loadDelta: nil];

和方法:

-(void)restClient:(DBRestClient *)client loadedDeltaEntries:(NSArray *)entries reset:(BOOL)shouldReset cursor:(NSString *)cursor hasMore:(BOOL)hasMore{
NSLog(@"WORKED: %@, %@, %c, %c", entries, cursor, hasMore, shouldReset);
 }

 -(void)restClient:(DBRestClient *)client loadDeltaFailedWithError:(NSError *)error{

NSLog(@"THE ERROR: %@", error);
}

這是我得到的響應類型:

2013-03-06 20:46:33.373 Splash-it[1659:907] WORKED: (
"<DBDeltaEntry: 0x1e2afbf0>",
"<DBDeltaEntry: 0x1e0e4030>",
"<DBDeltaEntry: 0x1e013640>",
"<DBDeltaEntry: 0x1e28e590>"
)

如果我的保管箱發生了什么變化,我怎么能由此理解?

這個問題有點老了,但是我還是想回答。 :)

您將要訪問DBDeltaEntry對象的屬性。

步驟1:導入DBDeltaEntry.h

我不知道為什么Dropbox的其余內容中不包含此功能(我通過電子郵件發送給Dropbox詢問原因)。 將此添加到您的班級:

#import "DBDeltaEntry.h"

步驟2:遍歷結果

loadedDeltaEntries委托方法內,您可以像這樣遍歷結果:

for(DBDeltaEntry *file in entries) {
  NSLog(@"Entry name: %@ / Metadata: %@",file.lowercasePath, file.metadata.filename);
}

要查看您還可以訪問DBDeltaEntry對象的元數據的其他內容,請查看DBMetadata.h內部:

BOOL thumbnailExists;
long long totalBytes;
NSDate* lastModifiedDate;
NSDate *clientMtime; // file's mtime for display purposes only
NSString* path;
BOOL isDirectory;
NSArray* contents;
NSString* hash;
NSString* humanReadableSize;
NSString* root;
NSString* icon;
NSString* rev;
long long revision; // Deprecated; will be removed in version 2. Use rev whenever possible
BOOL isDeleted;

NSString *filename;

步驟3:了解結果

該條目列表表示對Dropbox文件夾的最新更改(已修改,刪除或添加了哪些文件)。 使用cursorloadedDeltaEntries方法中很重要,因為它可以幫助您跟蹤所知道的更改。 您可以存儲光標,然后將其與每個增量調用一起傳遞給Dropbox,以告訴Dropbox“據我所知,它涉及到更改”,而Dropbox只會告訴您自該光標以來發生了什么更改。

希望對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM