ios – Swift 2.2打破期权/解包期权

前端之家收集整理的这篇文章主要介绍了ios – Swift 2.2打破期权/解包期权前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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使代码正常工作.
所以,我还建议其他开发人员更喜欢swift文字.

解决方法

当使用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")

因此,根据您的数组/字典的定义方式,您可能需要不同的转换/解包

猜你在找的iOS相关文章