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];
我很感激任何帮助。谢谢!
答案 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];
}
}