私は本当に汚い(くだらない)解決策を持っています。それは、今より良い解決策を考えられないだけです。
解決策は次のとおりです。
ViewController.h
NSString *someData;
NSTimer *testTimer;
ViewController.m
-(void)tempMethod{
if (([someData rangeOfString:@"\"status_code\": 1"].location == NSNotFound) &&
([someData rangeOfString:@"\"status_code\": 2"].location == NSNotFound)) {
returnInfo.text = @"This URL looks invalid";
NSLog(@"Status Code 3");
} else if (([someData rangeOfString:@"\"status_code\": 2"].location == NSNotFound) &&
([someData rangeOfString:@"\"status_code\": 3"].location == NSNotFound)) {
returnInfo.text = @"The website appears to be up!";
[returnInfo setNeedsDisplay];
NSLog(@"Status Code 1");
} else if (([someData rangeOfString:@"\"status_code\": 3"].location == NSNotFound) &&
([someData rangeOfString:@"\"status_code\": 1"].location == NSNotFound)) {
NSLog(@"Status Code 2");
returnInfo.text = @"This website is down";
}
}
- (IBAction)connection:(UIButton *)sender{
NSString *url= @"http://isitup.org/duckduckgo.com.json";
NSURLSession *session = [NSURLSession sharedSession];
[[session dataTaskWithURL:[NSURL URLWithString:url]
completionHandler:^(NSData *data,
NSURLResponse *response,
NSError *error) {
someData = [NSString stringWithUTF8String:[data bytes]];
NSLog(@"%@",someData);
}] resume];
testTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(tempMethod) userInfo:nil repeats:YES];
}
あなたへの私のアドバイスは次のとおりです: UIViewController ライフサイクルとスレッドについて読んでください:
汚いコードでもう1つ申し訳ありません。私はその答えに対していくつかのマイナスを取ることができます.明日はもっと良いものを考えます.