0
Objective-Cで新しいiOSアプリケーションを作成しています。私のアプリケーションはJSONデータを提供するAPIを利用しています。問題は、数百のJSONオブジェクトがリストにあり、APIを使用して検索を絞り込む方法がないことです。私は最初の10だけが欲しいですが、私はそれらをスキャンするときすべてはそれに永遠にかかる。Objective-CでX行をスキャンした後にJSONを取得しないようにします
最初の10個のJSONオブジェクトをスキャンして停止する方法はありますか?
ここに、すべてのデータを取得するコードを示します。
- (void)fetchCodeForces {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSString *requestString = @"https://codeforces.com/api/contest.list?gym=false";
NSURL *url = [NSURL URLWithString:requestString];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
NSURLSessionDataTask *datatask = [self.session dataTaskWithRequest:req completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
_f1 = json[@"result"];
for (NSDictionary *d in _f1) {
if ([d[@"phase"] isEqualToString:@"BEFORE"])
{
[_fetched addObject:d];
}else {
break;
}
}
dispatch_async(dispatch_get_main_queue(),^{
[self.tableView reloadData];
});
}];
[datatask resume];
});
}
forループはゆっくりと進んでいるわけではありません。理由は、すべてのデータをフェッチすることです。私が探しているのは、その一部のデータすべてをフェッチしない方法です。 – brettf