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

Swift-用API中的值替换标签文本,api,swift,interpolation,Api,Swift,Interpolation,我试图创建一个按钮,当按下该按钮时,将标签文本更改为API返回的值 我制作了一个简单的php页面来查询我的数据库并返回一个“count” 在我的iAction中,我可以将标签文本设置为普通的类似字符串的测试,它工作得很好,但是如果我尝试使用插值,它似乎不起作用 出于调试目的,我添加了这一行 println( "TypeName0 = \(_stdlib_getDemangledTypeName(kik))") 其中kik是我的变量,它被分配了来自API的值,当运行它时,我得到 TypeName

我试图创建一个按钮,当按下该按钮时,将标签文本更改为API返回的值

我制作了一个简单的php页面来查询我的数据库并返回一个“count”

在我的iAction中,我可以将标签文本设置为普通的类似字符串的测试,它工作得很好,但是如果我尝试使用插值,它似乎不起作用

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

println( "TypeName0 = \(_stdlib_getDemangledTypeName(kik))")
其中kik是我的变量,它被分配了来自API的值,当运行它时,我得到

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

有人能解释为什么我可以轻松地用普通字符串而不是API返回的值替换labelText吗

我的完整代码如下

 @IBAction func getSavingsCardCount(sender: AnyObject) {
        let url = NSURL(string: "http://testurlforstackoverflow.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()
     }

似乎我对返回的值有问题,因为它前面有一个换行符,以及一些前导空格2个字符,所以当使用printlnewstring.lengthofBytes使用singCodingNSUTF8StringEncoding进行测试时 我当时得了8分,现在已经实施了

var newString = kik.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
我得到6,这是字符串的正确长度

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

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

打印出来的是什么?我把它放回控制台。220098但这似乎很奇怪,因为控制台中的打印上面有一个超空行。因此,单击该按钮的完整控制台响应将是TypeName0=Swift.String 220098,API返回的值应该是什么?