parse.com追加检索数据

时间:2015-11-04 00:21:34

标签: swift parse-platform

我现在正在练习Parse,我现在如何检索数据,但问题是 当我尝试在解析中保存对象时,我的第一个打印(postsArray)并没有显示任何内容。这是我的代码。

import UIKit
import Parse

class TableViewController: UITableViewController {

var postsArray = [PFObject]()
override func viewDidLoad() {
    super.viewDidLoad()




    fetchData()
    print(postsArray)
    tableView.reloadData()


}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

// MARK: - Table view data source

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    // #warning Incomplete implementation, return the number of sections
    return 1
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // #warning Incomplete implementation, return the number of rows
    return postsArray.count
}


override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("practiceCell", forIndexPath: indexPath)

    // Configure the cell...

    cell.textLabel!.text = postsArray[indexPath.row].objectForKey("text") as? String
    return cell



}

func fetchData() {



        //empty postArray
        postsArray = []

        //bring data from parse
        let query = PFQuery(className: "Practice")

        query.orderByDescending("createdAt")
        query.findObjectsInBackgroundWithBlock { (objects: [PFObject]?, error) -> Void in
            if error == nil && objects != nil{
                for object in objects! {

                    self.postsArray.append(object)
                    print(self.postsArray)
                }

            }
        }
    }
}
附加数据后的

打印方法,显示正确的数据,但viewDidLoad()中的第一个打印方法没有显示任何内容。所以我的tableView也没有给我看任何东西。

我阅读解析文档并搜索其他问题,似乎没有错,它不起作用。

你能给我一个建议吗?

1 个答案:

答案 0 :(得分:0)

在您的查询完成后,您需要self.tableView.reloadData()这将导致tableView再次询问它的委托应该有多少行,这将在返回数据后准确。或者,您可以使用PFQueryTableViewController来自行处理它的对象,使您更容易管理。