tableView无法从解析

时间:2015-07-21 13:31:23

标签: ios swift uitableview

我有一个名为loadData的函数

func loadData(){
    feedData.removeAllObjects()

    var findFeedData:PFQuery = PFQuery(className: "userQuotes")

    findFeedData.findObjectsInBackgroundWithBlock{
        (objects:[AnyObject]?, error:NSError?)->Void in

        if error == nil{
            if let objs = objects{
            for object in objs{
                let quote:PFObject = object as! PFObject
                self.feedData.addObject(quote)
            }

            let array:NSArray = self.feedData.reverseObjectEnumerator().allObjects
            self.feedData = NSMutableArray(array: array)

            self.tableView.reloadData() 
            }
        }

    }
}

然后在cellForRowAtIndexPath中我实际获取数据并显示它。我在viewDidLoad函数中的self.loadData()。

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

    let quote:PFObject = self.feedData.objectAtIndex(indexPath.row) as! PFObject

    cell.contentTextView.text = quote.objectForKey("content") as! String

    // Configure the cell...

    return cell
}

我没有编译器错误,一切似乎都在工作。内容被推送解析,但它不会加载这些函数。所有运行的是一个空的表视图单元格它应该显示来自Parse的内容。我觉得我在这里缺少一些简单的逻辑......我是一个初学者,所以原谅任何愚蠢的错误。我正在关注一个教程,但这有点过时了。

3 个答案:

答案 0 :(得分:0)

验证以下方法:

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1 //or more if you want
}


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

答案 1 :(得分:0)

如果您使用的是可变数组,则需要在添加对象之前对其进行初始化。

答案 2 :(得分:0)

您正在更改异步线程上的UI。

对解析的调用是异步的。此调用完成后,您将重新加载表视图。

您应该将UI更改发送到主线程

dispatch_async(dispatch_get_main_queue()) {
  self.tableView.reloadData() 
}