gpt4 book ai didi

objective-c - 让按钮覆盖其他进程

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

在我的应用程序中, Root View Controller 从 Internet 获取信息,对其进行解析,并将其显示在 viewDidAppear 中。 .我使用这种方法是因为我的应用程序嵌入了 UINavigationController这样,当用户按下后退按钮并弹出到 Root View 时, Root View Controller 将重新加载其数据。

发生这种情况时,需要一些时间来获取和显示来自 Internet 的信息。在此期间,如果用户单击按钮移动到不同的 View ,则在 View Controller 完成获取 Web 数据的过程之前,不会发生按钮 Action 。

我怎样才能使按钮覆盖其他进程并立即切换 View ?这安全吗?提前致谢。

编辑

这是我从站点中获取信息的部分示例(我的应用程序解析 HTML)。

NSURL *siteURL = [NSURL URLWithString:@"http://www.ridgefield.org/ajax/dist/emergency-announcements"];
NSError *error;
NSString *source = [NSString stringWithContentsOfURL:siteURL
encoding:NSUTF8StringEncoding
error:&error];

最佳答案

这是苹果人会追捕的地方,“不要阻塞主线程!”。

这种工作流的主要建议是使用单独的线程(读取:队列)从网络加载数据。然后完成加载的工作人员可以在您的 View Controller 上设置一些属性,并且在该 setter 内部是应该更新 UI 的地方。请记住在主线程上调用 setter。

有几种方法可以剥去并发猫的皮肤,但是这个特定问题的答案使它们超出了范围。简短的回答是不要在主线程中加载,这应该会引导你到正确的地方。

关于objective-c - 让按钮覆盖其他进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11143228/

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