gpt4 book ai didi

swift - 从 'String?!' 向下转换到 'String' 只解包选项;您是要使用 '!!' 吗? swift

转载 作者:搜寻专家 更新时间:2023-10-31 22:02:26 28 4
gpt4 key购买 nike

enter image description here

源码如下

let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments)
if let blogs = json["profile_image_url"] as? String {

userImage = blogs//json["profile_image_url"] as! String
print("USER IMAGE:\(userImage)")

我是怎么解决这个问题的

最佳答案

您想在使用任何Optional 之前对其进行测试和解包。这包括像 as? 这样的转换。如果可以避免,则不应使用强制解包或显式解包可选(标有!),因为它们会导致意外的运行时崩溃。

import Foundation

// create test data
let testJson = ["profile_image_url": "http://some.site.com/"]
var data: NSData?

// convert to NSData as JSON
do {
data = try NSJSONSerialization.dataWithJSONObject(testJson, options: [])
} catch let error as NSError {
print(error)
}

// decode NSData
do {
// test and unwrap data
if let data = data {
let json = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments)
// test and unwrap cast to String
if let userImage = json["profile_image_url"] as? String {
print("USER IMAGE:\(userImage)")
}
}
} catch let error as NSError {
print(error)
}

关于swift - 从 'String?!' 向下转换到 'String' 只解包选项;您是要使用 '!!' 吗? swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36679726/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com