Jak obsługiwać kod pętli za pomocą bloków? [Zamknięte]
Mam jakiś kod, który wymaga użycia bloków. Blok pobiera pewną liczbę elementów danych z usługi sieciowej, a następnie prawdopodobnie musi pobrać więcej, a następnie ponownie, a następnie zwrócić wszystkie elementy danych, gdy wszystkie będą wymagane. Nie jestem pewien, jak umieścić ten kod w kodzie. Oto przykład tego, co mam na myśli:
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
}
}];
Jak mogę to uruchomić?
EDYTOWAĆ:
Z tym właśnie pracuję - to jest Evernote API. Powinien być lepszym przykładem tego, czego potrzebuję:
[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);
}];