我有一些需要使用块的代码。该块从 Web 服务中获取许多数据项,然后可能需要获取更多,然后再获取更多,然后在需要所有数据项后返回所有数据项。我不确定如何将其放入代码中。这是我的意思的一个例子:
NSMutableArray *array = [[NSMutableArray alloc] init];
[webService getLatestItemsWithCount:50 completion:^(NSArray *objects) {
//Some code to deal with these items.
if (moreItemsNeeded == YES) {
//I now need it to loop this block until I'm done
}
}];
我怎样才能让它工作?
编辑:
好的,这就是我正在使用的 - 它是 Evernote API。它应该是我需要的一个更好的例子:
[noteStore findNotesMetadataWithFilter:filter
offset:0
maxNotes:100
resultSpec:resultSpec
success:^(EDAMNotesMetadataList *metadataList) {
for (EDAMNoteMetadata *metadata in metadataList.notes) {
NSDate *timestamp = [NSDate endateFromEDAMTimestamp:metadata.updated];
if (timestamp.timeIntervalSince1970 > date.timeIntervalSince1970) {
[array addObject:metadata];
}
else {
arrayComplete = YES;
}
}
//I need it to loop this code, increasing the offset, until the array is complete.
}failure:^(NSError *error) {
NSLog(@"Failure: %@", error);
}];