gpt4 book ai didi

swift - 作为全局属性的 Activity 指标

转载 作者:行者123 更新时间:2023-11-30 13:39:12 28 4
gpt4 key购买 nike

我对编程还很陌生,有时它会用非常基本的概念来困扰我。我在我的 tableviewcontroller 中定义了一个 Activity 指示器作为 Outlet。

 @IBOutlet weak var activityIndicator: UIActivityIndicatorView!

用数据填充表格 View 的数据下载是在具有下载功能的类中的单独文件中完成的。这些函数包括下载的完成处理程序。现在,如果我想插入

activityIndicator.stopAnimating()

在完成部分,我收到消息“使用未解析的标识符activityIndi​​cator”。如何使 acitivityIndi​​cator 分别成为全局属性,如何使下载类/函数识别 tableViewController 中定义的 ActivityIndi​​cator?我知道这对你们大多数人来说可能是一个愚蠢的问题,但我只是不知道如何解决这个问题。

最佳答案

理想情况下,您不希望下载代码“了解”activityIndi​​cator。当你的 viewController 调用下载时,你可以传递另一个完成处理程序。然后,当下载完成处理程序运行时,调用这个新的完成处理程序。 viewController 知道 ActivityIndi​​cator,因此它可以停止它。 (非常粗略地)大致如下:

 // In ViewController
myThing.doTheDownload(completion: {
dispatch_async(dispatch_get_main_queue(), {
self.activityIndicator.stopAnimating()
})
})

// In download code
func doTheDownload(completion completionHandler: (() -> Void)) {
download(completion: {
completionhandler()
})
}

请注意,activityIndi​​cator 是一个 UI 元素,因此其代码必须在主线程上运行。

关于swift - 作为全局属性的 Activity 指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35760638/

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