用解析数据填充表视图

时间:2015-08-01 12:03:09

标签: swift parse-platform

我有一个UIViewController类,带有UITableViewDataSource和UITableViewDelegate。我还有一个按钮和一个TextField。 如果我单击按钮,我将一些数据发送到Parse.com,然后我希望数据显示在TableView中,所以我想我必须重新加载它。 当应用程序启动时,我想加载tableview中的所有数据 - 我想我必须在viewDidLoad()中执行此操作。

我为此写了一个课

import Foundation
import Parse

class DataHandler {
    var className : String

    init(className : String) {
        self.className = className
    }

    func getAllObjects() -> AnyObject {

        var output : AnyObject
        var query = PFQuery(className:className)

        query.findObjectsInBackgroundWithBlock {(objects, error) -> Void in
            if error == nil && objects != nil {
                var output = objects
            } else {
                println("Error getting data from \(self.className)")
            }
        }
        return output
    }

}

但这不起作用

1 个答案:

答案 0 :(得分:0)

getAllObjects函数将在后台查询运行之前返回。这意味着您在写入任何内容之前都会返回output

此外,您已在不同范围内定义了两个不同的var output变量。您在块中分配的内容与方法开头定义的内容不同。

getAllObjects不应该返回任何内容。让完成处理程序以应用程序需要的任何方式完成使用objects的工作。