Я могу получить folder_id с помощью [Box createFolderWithName:]. Но когда я пытаюсь использовать folder_id для получения своих детей, он не работает. Вот мой код:iOS Box SDK BoxFolder.children always nil
[Box createFolderWithName:@"My APP" parentFolderID:[Box rootFolderID] share:NO callbacks:^(id<BoxOperationCallbacks>on){
on.userInfo (^(NSDictionary* result) {
// do something with the return value (typically stored with key @"results") of the operation
NSNumber *appFolderId = [result objectForKey:@"folder_id"];
BoxFolder *appFolder = [Box folderWithID:appFolderId];
[appFolder updateWithCallbacks:^(id<BoxOperationCallbacks>on){
on.after(^(BoxCallbackResponse response) {
if (response == BoxCallbackResponseSuccessful) {
NSLog(@"Folder updated. Children count is: %d", [appFolder.children count]);
// Send a notification, call a delegate, use KVO use locally or whatever to use the children.
}
else {
NSLog(@"Folder not updated.");
}
});
}];
});
}];
дети всегда ноль. Я также попытался с [Box rootFolder], но тот же результат.
Может ли кто-нибудь помочь мне с этим? Благодарю.
Предполагая, что вы получаете действительный идентификатор папки, интересно, нужно ли теперь обновлять информацию о контенте посредством вызова updateWithCallbacks :. –
Спасибо за предложение. Я попытался использовать updateWithCallbacks, но он сработает. У вас есть фрагмент кода, который я могу посмотреть, как получить детей из папки? Большое спасибо. – Wenbo
Я что-то смущен. Если вы только что создали папку «Мое приложение», почему вы ожидаете чего-либо в ней. Вместо этого вы должны использовать родительскую папку с помощью метода updateWithCallbacks. Кроме того, вызов вызывает сбои, поскольку объект папки, возвращаемый folderWithID: поврежден. (Эта история привела бы к вопросу о том, почему класс Box может содержать несколько экземпляров BoxID, указывающих на разные объекты.) –