我想知道AFNetworking
完成请求后是否可以得到回调?我正在制作一个应用程序,其中我有一个边缘案例,所有下载的项目都被检查is_deleted
(并且不应该显示在 UI 中)。如果是这种情况,我想自动尝试下载旧数据(创建一个新AFNetworking
请求)。
我试图loadData
从它本身再次调用我的方法。但它创建了一个不定式循环。像这样:
- (void)loadDataIsOlder:(NSNumber *)older
{
NSURLRequest *request = [NSURLRequest requestWithURL:self.streamUrl];
AFJSONRequestOperation *operation;
operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id jsonObject) {
NSDictionary *data = [jsonObject objectForKey:@"data"];
NSDictionary *meta = [jsonObject objectForKey:@"meta"];
[...]
for (NSNumber *deleted in (NSArray *)[data valueForKey:@"is_deleted"]) {
if ([deleted boolValue] == YES) {
self.shouldTryToLoadMore = YES;
} else {
self.shouldTryToLoadMore = NO;
}
}
if (self.shouldTryToLoadMore == YES) {
[self loadDataIsOlder:[NSNumber numberWithBool:YES]];
}
} [...]
}
所以,我想知道这是否是做我想做的其他/更好的方法。
子问题
该数组(NSArray *)[data valueForKey:@"is_deleted"]
由 BOOL int 值组成。我想知道是否可以轻松计算包含整数的数组的值,例如 [1, 1, 1, 0] = 3?我想检查数组中的所有值是否都是 1:s。