iosでのhttpリクエスト(GET)のタイミングについて
プログラム初心者です。
viewDidLoadにてgetFlagメソッドを呼び、非同期でサーバーから情報を取得し、その値をviewWillAppearで使用したいのですが、下記のようなコードですと「isFlag」に値がセットされる
タイミングが遅く、viewWillAppearが実行されるタイミングに間に合いません。
このような場合どのようにすれば良いでしょうか。
@interface hogeViewController(){
BOOL isFlag;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self getFlag];
}
-(void) viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
if(isFlag){
...
}else{
...
}
}
-(void) getFlag{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *serverInfo_ = nil;
serverInfo_ = [NSString stringWithFormat:@"https://%@", WebServerInfo];
NSString *mediaApi = [serverInfo_ stringByAppendingFormat:@"/api/hoge/"];
NSURL *url_ = [NSURL URLWithString:mediaApi];
[request setHTTPMethod:@"GET"];
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
if(data){
isFlag = true;
}
}];
}