测试测试 | ✗ |
Lang语言 | Obj-CObjective C |
许可证 | MIT |
发布最后发布 | 2014年12月 |
由 未声明的 维护。
依赖项 | |
Evernote-SDK-iOS | ~> 1.3.1 |
Bolts | ~> 1.0.0 |
允许您使用 BoltsFramework Tasks 与 Evernote APIs 进行 iOS 开发。
而不是像这样嵌套的回调
[notestore getDefaultNotebookWithSuccess:^(EDAMNotebook *notebook) {
EDAMNoteFilter* filter = [[EDAMNoteFilter alloc] init];
filter.notebookGuid = notebook.guid;
[notestore findNotesWithFilter:filter
offset:0
maxNotes:100
success:^(EDAMNoteList *list) {
[[list notes] enumerateObjectsUsingBlock:^(EDAMNote* note, NSUInteger idx, BOOL *stop) {
[notestore getNoteApplicationDataEntryWithGuid:note.guid key:@"MyData" success:^(NSString *entry) {
// save the result
} failure:^(NSError *error) {
// error handling
}];
}];
} failure:^(NSError *error) {
// error handling
}];
} failure:^(NSError *error) {
// error handling
}];
您可以编写类似的代码
[[[[notestore getDefaultNotebookAsync] continueWithSuccessBlock:^id(BFTask *task) {
EDAMNotebook *notebook = task.result;
EDAMNoteFilter* filter = [[EDAMNoteFilter alloc] init];
filter.notebookGuid = notebook.guid;
return [notestore findNotesAsyncWithFilter:filter offset:0 maxNotes:100];
}] continueWithSuccessBlock:^id(BFTask *task) {
EDAMNoteList *list = task.result;
NSMutableArray* tasks = [NSMutableArray array];
[list.notes enumerateObjectsUsingBlock:^(EDAMNote* note, NSUInteger idx, BOOL *stop) {
BFTask* subtask = [[notestore getNoteApplicationDataEntryAsyncWithGuid:note.guid key:@"MyData"] continueWithSuccessBlock:^id(BFTask *task) {
// save the result
return nil;
}];
[tasks addObject:subtask];
}];
return [BFTask taskForCompletionOfAllTasks:tasks];
}] continueWithBlock:^id(BFTask *task) {
if (task.error) {
// error handling
} else if (task.exception) {
// exception handling
} else {
// task complete
}
return nil;
}];
有关BoltsFramework的更多详细信息,请检查他们的仓库和博客文章。
MIT 许可证。