我正在尝试从parse中检索用户配置文件图像。我有一个集合视图,我正在检索所有人张贴的图像。我还想在单元格中显示每个用户的配置文件图像。我在用下面的代码
let query = PFQuery(className: "Posts")
query.findObjectsInBackgroundWithBlock{(question:[AnyObject]?,error:NSError?) -> Void in
if error == nil
{
if let allQuestion = question as? [PFObject]
{
self.votes = allQuestion
self.collectionView.reloadData()
}
}
}
和
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("newview", forIndexPath: indexPath) as! NewCollectionViewCell
let item = self.votes[indexPath.row]
var UserQuery:PFQuery = PFUser.query()!
if let user = PFUser.currentUser() {
UserQuery.whereKey("uploader", equalTo: user)
}
UserQuery.findObjectsInBackgroundWithBlock{
(objects:[AnyObject]?, error:NSError?)->Void in
if error == nil{
let user:PFUser = (objects as NSArray!).lastObject as! PFUser
cell.userName!.text = user.username
let PhotoFile:PFFile = user["profilePicture"] as! PFFile
PhotoFile.getDataInBackgroundWithBlock(){
(ImageData:NSData?, error:NSError?)->Void in
if error == nil{
let Image:UIImage = UIImage(data: ImageData!)!
cell.profileImageView.image = Image
}}}}
但是,我得到一个错误,说致命错误:在展开
let user:PFUser = (objects as NSArray!).lastObject as! PFUser
处的可选值时意外发现nil问题是,我无法从创建的指针中检索此特定用户的配置文件图像和名称。谢谢您。
最佳答案
我得到一个错误,说致命错误:在展开可选值时意外发现nil
let user:PFUser = (objects as NSArray!).lastObject as! PFUser
所以别这么说。任何时候你使用这样的感叹号,你都会要求它失败时崩溃。这就是发生的事。所以不要用感叹号。使用问号,如下所示:
if let user = (objects as? NSArray)?.lastObject as? PFUser {
// ...
}
关于ios - 在解析时解开可选值错误时意外发现nil,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31822068/