Swift 2.2几乎破坏了我的所有代码。即使这个分配给标签的简单字符串也不再起作用了:
cell.categoryName.text = peopleArray![indexPath.row]["Name"] as? String
错误上写着“从'字符串向下传播?!'” 'String'只展开选项,你的意思是使用'!!'吗?“
我现在必须做些什么改变。
修改:
更多问题:
if (dict["data"]!["DataDetails"] as! NSArray).count == 0 {
}
由于这个原因,我遇到了分段错误,错误显示:警告:从'String ?!'强制转换不相关的类型'NSArray'总是失败
更新
我在我的课程中使用NSDictionaries,NSArrays似乎导致了这个问题。将所有文字从Obj-C更改为swift使代码正常工作。 因此,我还建议其他开发人员更喜欢快速文字。
答案 0 :(得分:0)
使用swift类型和objective-c NS ...类型
时似乎有一些细微差别例如
let dic:NSDictionary? = ["a":"a"]
let str:NSString? = dic!["a"] as? NSString
let dic2:Dictionary? = ["b":"b"]
let str2:String? = dic2!["b"] //dont need to do any casting, already optional
print(str)
print(str2)
打印
Optional(a)
Optional("b")
因此,根据您的数组/字典的定义方式,您可能需要不同的转换/解包