在iOS Dropbox Sync API 3.0中打开数据存储区

时间:2014-07-23 23:55:13

标签: ios dropbox-api

3.0数据存储区API的一项新功能是能够使用本地数据存储区,以便在用户决定将您的应用程序链接到Dropbox时与Dropbox同步。我想知道现在打开数据存储的过程有何不同。

例如,这就是我当前打开数据存储区的方式:

DBAccount *account = [[DBAccountManager sharedManager] linkedAccount];
self.store = [DBDatastore openDefaultStoreForAccount:account error:nil];

如果没有关联帐户,如何获得DBAccount?也许我不是。 :)

在同样的说明中,如果没有openDefaultStoreForAccount,则使用account打开数据存储的过程是什么?

我刚注意到openDefaultLocalStoreForAccountManager

这是怎么用的?当一个关联帐户时,这仍然可以使用吗?

self.store = [DBDatastore openDefaultLocalStoreForAccountManager:[DBAccountManager sharedManager] error:nil];

我很感激任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

来自https://www.dropbox.com/developers/blog/99/using-the-new-local-datastores-feature

// If the user has linked a Dropbox account for the first time...
if (_justLinked) {
    if (_localDatastoreManager && self.account) {
        // Perform a one-time migration to move from the local datastore to a remote one.
        [_localDatastoreManager migrateToAccount:self.account error:nil];
        _localDatastoreManager = nil;
    }
}
if (!_store) {
    // If there's a linked account, use that.
    if ([[DBAccountManager sharedManager] linkedAccount]) {
        _store = [DBDatastore openDefaultStoreForAccount:self.account error:nil];
    // Otherwise, use a local datastore.
    } else {
        _store = [DBDatastore openDefaultLocalStoreForAccountManager:[DBAccountManager sharedManager]
                                                               error:nil];
    }
}