试试这个
/* 恢复路径中的文件,因为它存在于给定的 rev 并返回恢复的元数据
恢复后的文件*/
- (void)restoreFile:(NSString *)path toRev:(NSString *)rev;
其中 path 是要恢复的 DropBox 文件的路径,rev 是要恢复到的 Revision
它的委托方法是
- (void)restClient:(DBRestClient*)client restoredFile:(DBMetadata *)fileMetadata;
- (void)restClient:(DBRestClient*)client restoreFileFailedWithError:(NSError *)error;
您可以使用这些来获取特定文件的修订列表
/* 加载一个包含最多 10 个 DBMetadata 对象的列表,这些对象代表路径中文件的过去修订 */
- (void)loadRevisionsForFile:(NSString *)path;
/* 与上述相同,但对返回的 DBMetadata 对象的数量有可配置的限制,最多 1000 个 */
- (void)loadRevisionsForFile:(NSString *)path limit:(NSInteger)limit;
他们的委托方法是
- (void)restClient:(DBRestClient*)client loadedRevisions:(NSArray *)revisions forFile:(NSString *)path;
- (void)restClient:(DBRestClient*)client loadRevisionsFailedWithError:(NSError *)error;
例子
NSString *filePath = @"/Contacts";
NSString *revisionStr = @"a1067dc176"; // sample revisionString
[[self restClient] loadRevisionsForFile:filePath limit:10];
[[self restClient] restoreFile:filePath toRev:revisionStr];
// 委托方法
- (void)restClient:(DBRestClient*)client loadedRevisions:(NSArray *)revisions forFile:(NSString *)path{
for (DBMetadata *file in revisions)
{
NSLog(@"MetaData's Revisions \t%@", file.rev);
}
}
- (void)restClient:(DBRestClient*)client loadRevisionsFailedWithError:(NSError *)error{
}
- (void)restClient:(DBRestClient*)client restoredFile:(DBMetadata *)fileMetadata{
NSLog(@"Restored FileMetaData Path : %@",fileMetadata.path);
NSLog(@"Restored FileMetaData rev : %@",fileMetadata.rev);
}
- (void)restClient:(DBRestClient*)client restoreFileFailedWithError:(NSError *)error{
NSLog(@"There was an error restoring the file - %@", error);
}