gpt4 book ai didi

ios - Dropbox 使用 delta IOS 检测文件更改

转载 作者:行者123 更新时间:2023-11-29 11:02:26 25 4
gpt4 key购买 nike

如果保管箱文件夹中的任何文件发生变化,我希望用户得到通知。为此,我必须使用以下代码:

[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 中发生了某些变化,我如何理解此信息?

最佳答案

这个问题有点老了,但我想我还是要回答。 :)

您将要访问 DBDeltaEntry 对象的属性。

第 1 步:导入 DBDeltaEntry.h

我不知道为什么这没有包含在 Dropbox 的其他内容中(我给 Dropbox 发了电子邮件询问原因)。将此添加到您的类(class):

#import "DBDeltaEntry.h"

第 2 步:遍历结果

loadedDeltaEntries 委托(delegate)方法中,您可以像这样遍历结果:

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 文件夹的最新更改(修改、删除或添加了哪些文件)。在 loadedDeltaEntries 方法中使用 cursor 很重要,因为它可以帮助您跟踪您知道的更改。您可以存储光标,然后在每次 delta 调用时将其传递给 Dropbox,以告诉 Dropbox“这是我所知道的变化”,而 Dropbox 只会告诉您自该光标以来发生了哪些变化。

希望对您有所帮助。

关于ios - Dropbox 使用 delta IOS 检测文件更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15256661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com