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())
我正在尝试创建一个按钮,当按下该按钮时,会将标签文本更改为从 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 进行测试时=] 在实施
之后,我得到了 8var newString = kik.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
我得到 6,这是字符串的正确长度..
对于遇到此问题的任何其他人,请注意您的控制台并注意 println() 语句中的任何换行符或奇怪的间距问题,对我来说,使用以下代码删除白色 spaces 是有效的。
var newString = kik.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())