[英]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文件夾的最新更改(已修改,刪除或添加了哪些文件)。 使用cursor
在loadedDeltaEntries
方法中很重要,因為它可以幫助您跟蹤所知道的更改。 您可以存儲光標,然后將其與每個增量調用一起傳遞給Dropbox,以告訴Dropbox“據我所知,它涉及到更改”,而Dropbox只會告訴您自該光標以來發生了什么更改。
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.