アプリケーションでUISearchBarを使用していますが、問題は、いくつかのjsonメソッドを呼び出すとsearchBarSearchButtonClicked
、他のメソッドがデータの読み込みを完了するまでキーボードを辞任しないように見えることです。UIAlertViewとUIButtonsを交互に使用してsearchBarSearchButtonClicked
関数を置き換えようとしましたが、文字通りフリーズし、「押された」状態のままになっているように見えます。[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
また、これがデバイスのステータスバーにアクティビティインジケーターを表示しない理由になるので はないかと思いました。
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
self.args = searchBar.text;
[self grabData];
[self fillVars];
[searchBar resignFirstResponder];
[self.tableView reloadData];
}
[self grabData]
ここでJSONデータを取得し、[self fillVars]
後で使用するいくつかのものを入力します。
-(void)grabData{
self.args = [self.args stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
urlString = [NSString stringWithFormat:@"%@%@?key=%@&q=%@",baseUrl,func,apiKey,args];
url = [NSURL URLWithString:urlString];
NSData *jsonData = [NSData dataWithContentsOfURL:url];
NSError *error;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&error];
self.matches = [json objectForKey:@"matches"];
[UIApplication sharedApplication].networkActivityIndicatorVisible=YES;
}