activity 全局指标 属性
activity Indicator as global property
我对编程还是很陌生,有时它会用非常基本的概念来吸引我。
我在我的 tableviewcontroller 中定义了一个 activity 指示器作为 Outlet。
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
用数据填充表格视图的数据下载是在具有下载功能的 class 中的单独文件中完成的。这些函数包括下载的完成处理程序。现在,如果我想插入
activityIndicator.stopAnimating()
在完成部分然后我收到消息 "use of unresolved identifier activityIndicator"。如何分别使 acitivityIndicator 成为全局 属性,如何使下载 class/functions 识别在 tableViewController 中定义的 activityIndicator?我知道这对你们大多数人来说可能是一个愚蠢的问题,但我只是不知道如何解决这个问题。
理想情况下,您不希望 "know" 关于 activityIndicator 的下载代码。当您的 viewController 调用下载时,您可以传递另一个完成处理程序。然后当下载完成处理程序运行s时,调用这个新的完成处理程序。 viewController 知道 activityIndicator,因此它可以停止它。一些东西(非常粗略地)沿着:
// 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()
})
}
请注意,activityIndicator 是一个 UI 元素,因此它的代码必须 运行 在主线程上。
我对编程还是很陌生,有时它会用非常基本的概念来吸引我。 我在我的 tableviewcontroller 中定义了一个 activity 指示器作为 Outlet。
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
用数据填充表格视图的数据下载是在具有下载功能的 class 中的单独文件中完成的。这些函数包括下载的完成处理程序。现在,如果我想插入
activityIndicator.stopAnimating()
在完成部分然后我收到消息 "use of unresolved identifier activityIndicator"。如何分别使 acitivityIndicator 成为全局 属性,如何使下载 class/functions 识别在 tableViewController 中定义的 activityIndicator?我知道这对你们大多数人来说可能是一个愚蠢的问题,但我只是不知道如何解决这个问题。
理想情况下,您不希望 "know" 关于 activityIndicator 的下载代码。当您的 viewController 调用下载时,您可以传递另一个完成处理程序。然后当下载完成处理程序运行s时,调用这个新的完成处理程序。 viewController 知道 activityIndicator,因此它可以停止它。一些东西(非常粗略地)沿着:
// 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()
})
}
请注意,activityIndicator 是一个 UI 元素,因此它的代码必须 运行 在主线程上。