您可以使用强制解包(forced unwrapping)或者使用条件语句进行处理,以避免出现“不能在非可选类型 'Auth' 的非可选值上使用可选链。”的错误。
以下是两种解决方法的示例代码:
方法一:强制解包
struct Auth {
var token: String
}
var auth: Auth? = Auth(token: "12345")
let token = auth!.token // 使用强制解包来获取非可选类型 'Auth' 的非可选值
print(token) // 输出: 12345
方法二:使用条件语句
struct Auth {
var token: String
}
var auth: Auth? = Auth(token: "12345")
if let token = auth?.token {
print(token) // 输出: 12345
} else {
print("Auth 对象为空或者 token 为空")
}
请注意,在使用强制解包时,如果 auth 对象为 nil,将会触发运行时错误。因此,建议您在使用强制解包之前,先进行判断或者使用条件语句来确保对象非空。
使用条件语句可以更安全地处理可选值,避免出现运行时错误,因此在实际开发中更为常见和推荐的做法。