【发布时间】:2018-12-05 08:45:53
【问题描述】:
我是 Swift 和 ObjC 的新手,无法让这么简单的代码工作。我收到错误“字符串?”不能转换为“字符串”;你的意思是用'as!'强制沮丧?
guard let data = context as? Dictionary<String,String> else {return}
var str : String
str = data["Score"] as String //<<<I get the error here
当我把它改成 as!我知道收到此警告:从“字符串”强制转换? to 'String' 只解开选项;您的意思是使用“!”吗?
任何想法如何从字典中提取字符串以便我可以使用它?
【问题讨论】:
-
您不需要强制转换,但执行
data["Score"]的结果可能为空 -
您应该了解以下内容。每次你在 Objective-C 中得到
NSString- 它可能是零。在 Swift 中,它取决于上下文。对于Dictionary,它将是String?。这意味着字符串可以为零。你读过苹果关于 Swift 的书吗? :)
标签: swift dictionary