gpt4 book ai didi

ios - 在 Parse.com 中,如何在 PFQueryTableViewController 中快速使用 query.includeKey?

转载 作者:行者123 更新时间:2023-11-28 10:24:39 25 4
gpt4 key购买 nike

我正在尝试使用 PFQueryTableViewController 填充表格。我想使用来自两个类的数据,即 PlacesDetails

Places 中,我有两列,placeText 作为stringpointerToDetails 作为指针。

Details中,我有一栏,是detailText

我想在我已经定义为 PFTableViewCell 的同一个 CustomCell 中显示 placeTextdetailText

不幸的是,在我运行代码之后,我只得到了 CustomCell 中的 placeText

import UIKit

class TableViewController: 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.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: "Places")
query.includeKey("pointerToDetails")
return query
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject) -> PFTableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("CustomCell") as CustomTableViewCell!
if cell == nil {
cell = CustomTableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "CustomCell")
}

// Extract values from the PFObject to display in the table cell
cell.name.text = object["placeText"] as String!
cell.detail.text = object["detailText"] as String!

return cell
}
}

最佳答案

在我从@deadbeef 得到灵感后(见答案 1),这是我得到的解决方案:

  1. query.includeKey("pointerToDetails") 正在查询可以通过 object["pointerToDetails"] 访问的对象。

  2. 要从object["pointerToDetails"] 中已经包含的列detailText 中提取数据,只需执行以下操作:


if let pointer = object["pointerToDetails"] as? PFObject {
cell.detail.text = object["detailText"] as String!
}

这里是完整的代码:

import UIKit

class TableViewController: 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.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: "Places")
query.includeKey("pointerToDetails")
return query
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject) -> PFTableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("CustomCell") as CustomTableViewCell!
if cell == nil {
cell = CustomTableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "CustomCell")
}

// Extract values from the PFObject to display in the table cell
cell.name.text = object["placeText"] as String!
if let pointer = object["pointerToDetails"] as? PFObject {
cell.detail.text = object["detailText"] as String!
}
return cell
}
}

关于ios - 在 Parse.com 中,如何在 PFQueryTableViewController 中快速使用 query.includeKey?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29328293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com