2013-03-06 1 views
1

Я хочу, чтобы пользователь сообщал, если какой-либо файл изменяется в папке Dropbox. Для этого я должен использовать этот код:Dropbox обнаруживает изменение файла с помощью delta IOS

[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>" 
) 

Как я могу понять форму это, если что-то изменилось в моем Dropbox?

+0

Все ли эти дельта-записи связаны с вашими файлами? –

+0

@PratikSomaiya Да, они ... – Alessandro

ответ

2

Этот вопрос немного устарел, но я думал, что все равно отвечу. :)

Вы хотите получить доступ к свойствам объекта 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 только скажет вам, что изменилось с этого курсора.

Я надеюсь, что это поможет.

Смежные вопросы