带有 SwiftLoading 的 NSTimer

NSTimer with SwiftLoading

我正在使用 SwiftLoading:

https://www.miniassets.com/news/1-create-loading-with-activity-indicator-in-swift-2-and-xcode-7.html

为了隐藏它,我使用了 NSTimer:

var timer = NSTimer.scheduledTimerWithInterval(4.0, target: self, selector: #selector(ViewController.update), userInfo: nil, repeats: false)

func update()
{
    SwiftLoading().hideLoading()
}

函数 "update()" 在 4 秒后被触发,函数 hideLoading() 也被触发,但加载视图停留在屏幕上。

有谁知道,为什么会这样?

SwiftLoading().hideLoading()

这一行创建一个 new SwiftLoading,然后隐藏那个而不是现有的。

首次创建 SwiftLoading 时,应将其分配给实例变量,以便稍后隐藏它:

let loading = SwiftLoading()    //in your class, as an instance variable

开始加载对象:

loading.showLoading()

隐藏加载对象:

loading.hideLoading()