gpt4 book ai didi

ios - 如何更改使用不同类的界面生成器设置的 UI 元素?

转载 作者:行者123 更新时间:2023-12-01 19:04:20 25 4
gpt4 key购买 nike

我正在清理我的一些代码,我决定创建一个“后端”类来帮助解决这个问题。这个类所做的只是异步地从 URL 中获取一些数据,然后在完成时调用主线程上的 parse 方法。完成后,我只是将解析数据中的字符串写入 UILabel我已经使用界面生成器放置了。当所有内容都包含在 ViewController.h/m 中时,此方法有效,但它杂乱无章。我已经获取了 View Controller 中包含的所有方法,并将它们重新创建为我的类的类方法,因此我所要做的就是调用 [Backend fetchData] , ETC。

但是,我遇到了一个问题。我意识到我实际上并不知道如何更改 UILabel的文本字段来自除 View Controller 类本身之外的任何地方。我试过通过 UILabel到后端类,但我猜我这样做的方式不正确,因为它不起作用。我正在尝试做的事情是否可行/我该如何完成?

最佳答案

创建基于 block 的 API。

[Backend fetchDataWithCompletionHandler: ^ (NSString* result, NSError* error) 
{
if(error)
{
NSLog(@"Got error: %@", error);

return;
}

self.label.text = result;
}];

这是非常通用的,您的 View Controller 仍然可以控制其属性。

确保线程正确性可以在后端(在主线程上调用完成处理程序)或 in block (检查是否主线程,如果不是则在主线程上执行)完成,但请记住确保它,所以你不要最终从后台线程更新 UI。

关于ios - 如何更改使用不同类的界面生成器设置的 UI 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20750061/

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