[英]Downcast anyObject to String in Swift
我正在使用Xcode6-Beta6,并希望在屏幕上显示来自NSArray的项目。
从代码中提取如下
var task: AnyObject? = categoriesForOption.valueForKey("task")!
var taskName: UILabel = view.viewWithTag(10) as UILabel
taskName.text = task as? String
任务包含(Tea)taskName包含nil
我一直在寻找解决方案并找到许多答案,但是似乎都没有用。 上面的摘录是我用来解决问题的最接近的摘录。 希望有人在我将头撞在墙上时帮我。
您可以尝试:
var task: String! = String(categoriesForOption.valueForKey("task"))
taskName.text = task
我猜你的意思是NSDictionary
而不是NSArray
。
我认为这样更明确:
var task = categoriesForOption.valueForKey("task") as? String
输入inferral会使任务成为String?
-它将与一个值,如果相应的“任务”键的值在字典中存在,如果它是一个字符串进行填充。 否则nil
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.