无法从解析中加载和显示数据

时间:2015-07-23 01:11:31

标签: swift parse-platform label

    var findPublisher:PFQuery = PFUser.query()!
    findPublisher.whereKey("objectId", equalTo: quote.objectForKey("publisher")!)
    findPublisher.findObjectsInBackgroundWithBlock{
        (objects: [AnyObject]?, error: NSError?) -> Void in

        if error == nil {
            if let objects = objects as? [PFUser] {
                for object in objects {
                    //println(object.objectId)
                    let user:PFuser = (objects as NSArray).lastObject as PFUser
                    cell.publisherLabel.text = user.username
                }

            }
        }
    // Configure the cell...
    }

这里的代码应该查询objectId并显示用户名而不是标签。我收到的错误是使用了未申报的PFUser' ...我使用" println"在error == nil语句之后,它正确记录,因此错误肯定发生在那之后。

1 个答案:

答案 0 :(得分:0)

如果您使用的是TableViewController,则无需创建tableview的Outlet。因此,您需要将_User类中的所有对象查询到数组中。因此,您需要知道将此代码放在ViewDidLoad或ViewWillAppear中的位置。

 var arrayOFUser :NSMutableArray = []

    var findPublisher:PFQuery = PFQuery(className:"_User")
    findPublisher.findObjectsInBackgroundWithBlock{ (objects: [AnyObject]?, error: NSError?) -> Void in
        if error == nil{
            if let objects = objects as? [PFObject] {
                for object in objects {
                    var getusername = object["username"] as! String
                    self.arrayOFUser.addObject(getusername)
                    self.tableview.reloadData()
                }

            }
        }

    }

//将用户数返回到tableview中的每个单元格

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.arrayOFUser.count
}

    then you go into the ** cellForRowAtIndexPath** method

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
  var cell = self.tableview.dequeueReusableCellWithIdentifier("CellSubtitle", forIndexPath: indexPath) as! UITableViewCell

      let name = self.arrayOFUser[indexPath.row] as! String
        cell.textlabel?.text = name 
            return cell
        }

QuickNote“CellSubtitle”是tableview中单元格的名称,所以在更改它时进入故事板。