Swift - 用 API 中的值替换标签文本

Swift - Replacing Label text with Value from API

我正在尝试创建一个按钮,当按下该按钮时,会将标签文本更改为从 API 编辑的值 return。

我制作了一个简单的 php 页面来查询我的数据库和 return 'count'。

在我的 IBAction 中,我可以将标签文本设置为像 "test" 这样的普通字符串并且它工作正常,但是如果我尝试使用插值它似乎不起作用..

出于调试目的,我添加了行

println( "TypeName0 = \(_stdlib_getDemangledTypeName(kik))")

其中 kik 是我的变量,它从 API 中赋值,当 运行 我得到

TypeName0 = Swift.String

这是我所期望的,因为我想替换 labelText.text = kik

任何人都可以解释为什么我可以轻松地将 labelText 替换为普通字符串而不是 return 从 API 编辑的值吗?

我的完整代码如下。

 @IBAction func getSavingsCardCount(sender: AnyObject) {
        let url = NSURL(string: "http://testurlforWhosebug.php")

        let task = NSURLSession.sharedSession().dataTaskWithURL(url!){(data, response, error)  in
            dispatch_async(dispatch_get_main_queue(), { () in
            let kik = NSString(data: data, encoding: NSUTF8StringEncoding)! as String
            println( "TypeName0 = \(_stdlib_getDemangledTypeName(kik))")
                // self.scCountLabel.text = "TEST WORKS!"   this will work but the following line will not
                self.scCountLabel.text = "\(kik)"
                println(kik)
             })

        }
    task.resume()
     }

我似乎对返回的值有疑问,因为它前面有一个换行符,还有一些前导白色 space(2 个字符)所以在使用 [=12 进行测试时=] 在实施

之后,我得到了 8
var newString = kik.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())

我得到 6,这是字符串的正确长度..

对于遇到此问题的任何其他人,请注意您的控制台并注意 println() 语句中的任何换行符或奇怪的间距问题,对我来说,使用以下代码删除白色 spaces 是有效的。

  var newString = kik.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())