gpt4 book ai didi

ios - 刷新 UILabel

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:10 25 4
gpt4 key购买 nike

我正在尝试使用 ViewController.m 文件中的代码更新 UILabel。

returnInfo.text = @"The website is up!";

但此更改最多几分钟后不会出现在应用程序中但它会出现。我做错了什么,为什么要花这么长时间才能出现?我希望标签在这段代码执行后立即更新。

这是我的整个 ViewController.m 文件:http://pste.co/p/mTvcgTftdr1a(第 40、45、51 行)

最佳答案

我有一个非常肮脏(蹩脚)的解决方案,只是我现在想不出更好的解决方案。

接下来是解决方案:

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 生命周期和线程的内容:

再次为肮脏的代码感到抱歉。对于这个答案我可以接受一些缺点,明天我会考虑更好的。

关于ios - 刷新 UILabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19671202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com