使用PFQueryTableViewController(来自parse)和Swift

时间:2014-07-31 22:23:51

标签: ios swift

我已经在故事板中添加了一个UITableViewController,并创建/分配了一个新类,它继承自PFQueryTableViewController到storyboard控制器。然后我编写了以下init函数,但我无法让Table视图控制器正常工作。

为了实例化PFQueryTableViewController需要实现什么? 解析文档中的代码在swift中无法正常工作。

init(coder aDecoder: NSCoder!){
    super.init(coder: aDecoder)
}

init(className aClassName: String!) {
    super.init(className: aClassName)

    self.parseClassName = "Timeline"
    self.textKey = "Name"
    self.pullToRefreshEnabled = true
    self.paginationEnabled = false
}

2 个答案:

答案 0 :(得分:4)

您需要初始化ViewController。作为测试,请在您的appdelegate中对其进行初始化,如下所示:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    Parse.setApplicationId("YOUR_APP_ID", clientKey:"YOUR_CLIENT_KEY")
    var controller:PFQueryTableViewController = PFQueryTableViewController(className: "YOUR_PARSE_CLASS_NAME")
    self.window?.rootViewController = controller
    return true
}

这是我的PFQUeryTableViewController

class TestTableViewController: PFQueryTableViewController {

required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
}

override init(className aClassName: String!) {
    super.init(className: aClassName)

    self.parseClassName = aClassName
    self.textKey = "YOUR_PARSE_COLOMN_YOU_WANT_TO_SHOW"
    self.pullToRefreshEnabled = true
    self.paginationEnabled = false
}
}

希望这有帮助,如果您有任何疑问,请与我联系。注意,我们需要在此类的初始值设定项中传入类名。我们在这里的appdelegate中传递了这个类名,但是当我们将这个视图添加到另一个控制器时,我们会在那里传递类名。这更像是为了让你开始运行

答案 1 :(得分:1)

这是一种蹩脚的建议。

但是只需在ObjC中创建该类并将其包含在您的桥接标题中