问题描述
我已经导入了所有需要的框架,但从那时起我就不知道该怎么做了(我是Swift的新手,而且没有任何关于Objective C的内容)。解析文档不在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?
我已经初始化了我的视图控制器(当我运行时它没有出现应用程序,我只是得到一个黑屏;但根据这个视频,我应该看到一个表:)
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个新的cocoa touch class',给一个PFQueryTableViewController的子类和另一个PFTableViewCell。把它们挂在故事板上。确保Tableview和单元格指向这些文件。你的Tableview文件看起来应该是这样的;
Make sure you have imported all the parse SDK'sCreate a2 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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!