我有一个名为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的内容。我觉得我在这里缺少一些简单的逻辑......我是一个初学者,所以原谅任何愚蠢的错误。我正在关注一个教程,但这有点过时了。
答案 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()
}