繁体   English   中英

如何使用contentsOfURL初始化字符串并在Swift中更新UILabel的文本

[英]How To initialise a string using contentsOfURL and update a UILabel's text in Swift

我正在尝试从网页中读取数据,并且正在使用NSString初始化程序init(contentsOfURL因为该页面上只有一个句子需要在标签中显示。

if var optUrl = NSURL(string: "www.example.com/examplepage.php"){
        if let optStr = NSString(contentsOfURL: optUrl, encoding: NSUTF8StringEncoding, error: nil){
            println(optStr)
            songLabel.text = optStr
        }

    }

当我在Xcode的仿真器中运行代码时,println会打印句子,但不会在标签中显示...如果我将代码更改为songLabel.text = "Now playing: \\(optStr)" ,我看到Now playing:但不是println所显示的optStr的值。

我做错了什么吗?

结论

事实证明一切正常,该字符串前面带有换行符,并且由于标签的行数为0,因此该文本不可见。 断点永远是您的朋友。


不相干

看来您需要添加http://

这在操场上为我工作的一个PHP文件

if var optUrl = NSURL(string: "http://php.net/manual/en/function.file.php") {
    println(optUrl)
    var error: NSError? = nil
    if let optStr = NSString(contentsOfURL: optUrl, encoding: NSUTF8StringEncoding, error: &error) {
        println(optStr)
    }
    print(error)
}

编辑

看到您说设置“正在播放:(optStr)”会导致“正在播放:”时,您的字符串也可能为空。

在操场上验证您的物品,但至少应能够检查

countElements(optStr) > 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM