gpt4 book ai didi

swift - 使用 parse 时遇到 nil 可选问题

转载 作者:行者123 更新时间:2023-11-30 13:30:28 26 4
gpt4 key购买 nike

我正在尝试从 Parse 下载文件,但遇到 fatal error :崩溃,消息变量似乎为零。我已经尝试排除故障,并且我知道有一个我只是没有看到的容易错过的地方。希望社区能够提供帮助,因为我是 swift 的新手。

class InboxViewController: UITableViewController {

var messages: [PFObject] = []
var selectedMessage: PFObject?
var moviePlayer: MPMoviePlayerController?

override func viewDidLoad() {
super.viewDidLoad()
self.moviePlayer = MPMoviePlayerController()

let currentUser = PFUser.currentUser()
if currentUser != nil {
// Do stuff with the user
print("Current user: \(currentUser!.username)")
} else {
}
}

override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)

let query = PFQuery(className: "Messages")
query.whereKey("recipientIds", equalTo: PFUser.currentUser()!.objectId!)
query.findObjectsInBackgroundWithBlock {
(objects : [PFObject]?, error: NSError?) -> Void in

if error == nil {
for object in objects! {
let messages = object["file"] as! PFFile
self.tableView.reloadData()
print("Retreived \(self.messages.count) messages")
}
}
}


}

崩溃断点位于查询的开头。感谢社区,另一双经验丰富的眼睛总是有帮助的。

最佳答案

您可以使用 if let 构造安全地解开对象

 if let objects  = objects {
for object in objects
let messages = object["file"] as? PFFile
print(messages)
// or you can also safely unwarp here
// if let messages = object["file"] as? PFFile {
// print(message)
// }
self.tableView.reloadData()
print("Retreived \(self.messages.count) messages")
}
}

关于swift - 使用 parse 时遇到 nil 可选问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36615245/

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