繁体   English   中英

为什么会出现指针错误?

[英]Why am I getting the pointer error?

在用户类中,我有一个指向用户类的指针“友谊”,但是当我运行程序时,出现错误- 在此处输入图片说明

编辑:我想通了为什么我得到错误。 “友谊不是指针,而是PFRelation,但是我仍然想访问ProPic和用户名。我该怎么做?

下面是用户类 在此处输入图片说明

下面是指向用户类的指针。 在此处输入图片说明

func getFriendPic(){

    let imagequery = PFQuery(className: "_User")
    imagequery.whereKey("username", equalTo: PFUser.currentUser()!)
    imagequery.includeKey("Friendship")
    imagequery.findObjectsInBackgroundWithBlock {( objects: [AnyObject]?, error: NSError?) -> Void in
        for object in objects!{
            let userPic = object["ProPic"] as! PFFile
            userPic.getDataInBackgroundWithBlock({ (imageData: NSData?, error: NSError?) -> Void in
                if(error == nil){
                    let image = UIImage(data: imageData!)
                    self.arrayOfFriends.append(image!)
                    print(self.arrayOfFriends)

                }
               // dispatch_async(dispatch_get_main_queue()) {
               //     self.collectionView.reloadData()
               // }
            })

        }
    }
}

func getFriendName(){
    var query = PFQuery(className: "_User")
    query.whereKey("username", equalTo: PFUser.currentUser()!)
    query.includeKey("Friendship")
    query.findObjectsInBackgroundWithBlock({
        (objects: [AnyObject]?, error: NSError?) -> Void in
        var objectIDs = objects as! [PFObject]

        for i in 0...objectIDs.count-1{
            self.arrayOfFriendsNames.append(objectIDs[i].valueForKey("username") as! String)
            print(self.arrayOfFriendsNames)
        }



    })
}

include查询参数不适用于Relation 检索用户后,您需要执行第二个查询才能获得友谊。

这是检索PFRelation的示例:

var relation = user.relationForKey("Friendship")
relation.query().findObjectsInBackgroundWithBlock {
  (objects: [PFObject]?, error: NSError?) -> Void in
  if let error = error {
    // There was an error
  } else {
    // objects contains the friendships of the user
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM