相关疑难解决方法(0)

Swift更新标签(包含HTML内容)需要1分钟

我遇到了一个小问题,让我从代码开始

class ViewController: UIViewController {

@IBOutlet weak var LBoutput: UILabel!
@IBAction func BTclick(sender: AnyObject) {
    var url = NSURL(string: "http://google.com")
    println("test0")
    let getdata = NSURLSession.sharedSession().dataTaskWithURL(url){(data ,response , error) in
        var htmlContent = NSString(data: data, encoding: NSUTF8StringEncoding)
        println("test1")
        println("test2")
        self.LBoutput.text = "test6"
    }
    println("test3")
    getdata.resume()
    println("test4")
    LBoutput.text = "test5"

}
Run Code Online (Sandbox Code Playgroud)

这段代码在控制台中给我一个输出

test0
test3
test4
test1
test2

此外,标签没有时间更新为"test5",但更新为"test6"的标签需要30秒.

我不知道为什么这需要这么长时间,任何人都有想法?

label self swift swift-playground

8
推荐指数
1
解决办法
6166
查看次数

iOS标签不会在Swift中使用函数更新文本

这个看似简单的问题让我发疯了......我正在玩SwiftyJSON来获取远程数据,这里是我在Swift中的ViewController类的一个片段:

override func viewDidLoad() {
    super.viewDidLoad()

    self.statusLabel.text = "welcome"

    RemoteDataManager.getStatusUpdateFromURL { (statusData) -> Void in
        let json = JSON(data: statusData)
        self.statusLabel.text = "this does not work"
        self.statusLabel.text = self.getMostRecentStatusUpdate(json) // also does not work
    }

}
Run Code Online (Sandbox Code Playgroud)

statusLabel文本设置为"welcome",但之后不会更改.不过好笑的是,什么我把里面的func getMostRecentStatusUpdate(_:)println()被打印到控制台正确,即使它来自远程JSON源(即我知道,此功能).我的问题是我无法将文本打印到UILabel而不是控制台.我没有收到任何错误消息.

我还不熟悉类似的Swift函数MyClass.myMethod { (myData) -> Void in .... },我不明白这里出了什么问题.有任何想法吗?

uiviewcontroller uilabel ios swift

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

swift ×2

ios ×1

label ×1

self ×1

swift-playground ×1

uilabel ×1

uiviewcontroller ×1