gpt4 book ai didi

ios - 使用 dispatch_async() 时 Swift 中的 Optionals 问题

转载 作者:搜寻专家 更新时间:2023-11-01 06:46:23 24 4
gpt4 key购买 nike

嘿伙计们,我对 Swift 非常缺乏经验,所以我确信这个问题是我对语法的天真。一般来说,我尝试从 Parse 检索数据并将结果读入 NSArray。但是,我收到以下错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

我已将其缩小到函数失败的代码中的这一部分。我在 self.userData = res 行之后收到错误。我确定我正在按照说明展开 nil 值,但不知道如何修复它。如果我执行诸如 var res = query!.findObjects()? 之类的操作来使 findObjects 可选,那么我会收到编译器错误。只是有点卡住,任何帮助。

func getUserInfo() {
let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT
dispatch_async(dispatch_get_global_queue(priority, 0)) {
let user = PFUser.currentUser()
var query = PFUser.query()
query!.whereKey("username", equalTo: self.username)
var res = query!.findObjects()!
dispatch_async(dispatch_get_main_queue()) {
self.userData = res
self.tableView.reloadData()
}
}
}

最佳答案

它更有可能是这些行之一:

    query!.whereKey("username", equalTo: self.username)
var res = query!.findObjects()!

这些是展开 Optional 值的行。

试试这个:

if let unwrappedQuery = query {
unwrappedQuery.whereKey("username", equalTo: self.username)
if let result = query.findObjects() {
dispatch_async(dispatch_get_main_queue()) {
self.userData = result
self.tableView.reloadData()
}
} else {
println("query.findObjects returned nil")
}
} else {
println("query was nil")
}

关于ios - 使用 dispatch_async() 时 Swift 中的 Optionals 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30314872/

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