如何在 Swift 中使用 Parse 创建一个 PFQueryTableViewController? [英] How to create a PFQueryTableViewController with Parse in Swift?

查看:13
本文介绍了如何在 Swift 中使用 Parse 创建一个 PFQueryTableViewController?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经导入了所有需要的框架,但从那时起我不太知道该怎么做(我是 Swift 的新手,对 Objective C 一无所知).Parse 文档还没有在 Swift 中出现,所以有人可以为我提供一个起点吗?

I've imported all the frameworks required but from that point on I don't quite know what to do (I'm new to Swift and no absolutly nothing about Objective C). Parse docs aren't in Swift yet so can someone please provide me with a starting point?

我已经初始化了我的视图控制器(当我运行应用程序时它没有出现,我只是得到一个黑屏;但是根据这个视频,我应该看到一个表格:https://parse.com/tutorials/parse-query-table)

I've initialized my view controller (which doesn't appear when I run the app, I just get a black screen; but based on this video, I should see a table: https://parse.com/tutorials/parse-query-table)

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    //Link to Parse
    Parse.setApplicationId("...", clientKey: "...")

    var controller:PFQueryTableViewController = PFQueryTableViewController(className: "test1")
    self.window?.rootViewController = controller
    self.window?.makeKeyAndVisible()

    return true

推荐答案

确保你已经导入了所有的解析 SDK创建一个2个新的可可触摸类',给一个PFQueryTableViewController的子类和另一个PFTableViewCell.将它们连接到故事板中.确保 Tableview 和单元格指向这些文件.您的 Tableview 文件应如下所示;

Make sure you have imported all the parse SDK's Create a 2 new cocoa touch class', give one the subclass of PFQueryTableViewController and the other PFTableViewCell. Hook them up in the storyboards. Make sure the Tableview and the cell are pointing to these files. Your Tableview file should look something like this;

import UIKit

class YourTableViewController: PFQueryTableViewController {







// Initialise the PFQueryTable tableview
override init!(style: UITableViewStyle, className: String!) {
    super.init(style: style, className: className)
}

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

    // Configure the PFQueryTableView
    self.parseClassName = "yourClass"

    self.textKey = "yourObject"
    self.pullToRefreshEnabled = true
    self.paginationEnabled = false
}

// Define the query that will provide the data for the table view
override func queryForTable() -> PFQuery! {
    var query = PFQuery(className: "yourClass")
    query.orderByAscending("yourObject")


    return query
}

//override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject) -> PFTableViewCell {

    var cell = tableView.dequeueReusableCellWithIdentifier("Cell") as CustomTableViewCell!
    if cell == nil {
        cell = CustomTableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "Cell")
    }

    // Extract values from the PFObject to display in the table cell

    cell.info.text = object["info"] as String


    // Date for cell subtitle
    var dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd"
    let dateForText = object["date"] as NSDate
    cell.date.text = dateFormatter.stringFromDate(dateForText)







    return cell
}

// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    // Get the new view controller using [segue destinationViewController].
    var detailScene = segue.destinationViewController as YourDetailViewController

    // Pass the selected object to the destination view controller.
    if let indexPath = self.tableView.indexPathForSelectedRow() {
        let row = Int(indexPath.row)
        detailScene.currentObject = objects[row] as? PFObject
    }
}


Make sure you have set the cells reuse identifier to match what you are setting it to in this code. 

当你我打电话给 cell.info 时,cell.date.这些是我在 CustomTableViewCell 文件中设置的 IBOutlets.

When you I called cell.info, cell.date. These are IBOutlets I have set up in my CustomTableViewCell file.

class CustomTableViewCell: PFTableViewCell {

@IBOutlet weak var info: UILabel!
@IBOutlet weak var date: UILabel!
@IBOutlet weak var mixCoverPhotoImageView: PFImageView!




}

这篇关于如何在 Swift 中使用 Parse 创建一个 PFQueryTableViewController?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆