Swift 将字典中的值赋给字符串对象
Swift assign value from dictionary to string object
我正在使用 AnyObject
类型的 swift dictionary
并读取特定键的值并将其分配给这样的字符串对象,
contactObject.lastName = requestDict.objectForKey("lastName") as! String
我的问题是当键 "lastName" 不存在于字典中时我的应用程序崩溃了,所以我添加了检查以避免崩溃,但我想知道如何获得可选的键 "lastName" 的字典中的值 据我所知 swift 获取可选值的功能。
那么我怎样才能摆脱添加检查该键是否存在于字典中然后读取值并将其分配给字符串对象的操作。
任何帮助将不胜感激。
谢谢
我不太确定你在问什么。如果你想从 [String: AnyObject] 的字典中获取 lastName 并将其转换为字符串,我建议你这样做。它只会在它存在时分配它。
if let lastName = requestDict["lastName"] as? String {
contactObject.lastName = lastName
}
强行展开总是很危险的。使用 if let 和 guard let 语句来防止在展开可选值时传播错误。
你应该使用 SwiftyJSON 库(外部框架),它非常干净,你不需要像在 ios 内置系统中那样进行类型检查。
对于 SwiftyJSON,您所要做的就是
contactObject.lastName = requestDict["lastName"].stringValue
它将key的值转换为string本身。
如果字典 lastname 什么都没有,SwiftyJSON 会使用 "",很好。
要创建数组,您可以使用类似的东西:
array = dictionary["contactObjects"].arrayValue
要了解更多信息,只需 google Swifty JSON 并打开 github 页面。
如果您可以使用 CocoaPods,您只需创建一个 podfile 并添加 pod 即可使用它。
我正在使用 AnyObject
类型的 swift dictionary
并读取特定键的值并将其分配给这样的字符串对象,
contactObject.lastName = requestDict.objectForKey("lastName") as! String
我的问题是当键 "lastName" 不存在于字典中时我的应用程序崩溃了,所以我添加了检查以避免崩溃,但我想知道如何获得可选的键 "lastName" 的字典中的值 据我所知 swift 获取可选值的功能。
那么我怎样才能摆脱添加检查该键是否存在于字典中然后读取值并将其分配给字符串对象的操作。
任何帮助将不胜感激。
谢谢
我不太确定你在问什么。如果你想从 [String: AnyObject] 的字典中获取 lastName 并将其转换为字符串,我建议你这样做。它只会在它存在时分配它。
if let lastName = requestDict["lastName"] as? String {
contactObject.lastName = lastName
}
强行展开总是很危险的。使用 if let 和 guard let 语句来防止在展开可选值时传播错误。
你应该使用 SwiftyJSON 库(外部框架),它非常干净,你不需要像在 ios 内置系统中那样进行类型检查。
对于 SwiftyJSON,您所要做的就是
contactObject.lastName = requestDict["lastName"].stringValue
它将key的值转换为string本身。 如果字典 lastname 什么都没有,SwiftyJSON 会使用 "",很好。
要创建数组,您可以使用类似的东西:
array = dictionary["contactObjects"].arrayValue
要了解更多信息,只需 google Swifty JSON 并打开 github 页面。
如果您可以使用 CocoaPods,您只需创建一个 podfile 并添加 pod 即可使用它。