将字符串查询解析为数组
Parse String Query as Array
我想让用户通过 Spotlight 搜索我的应用程序。我有一个包含 500 行的 PFQueryTableViewController。在 Parse 中,可搜索信息保存为 String,共有 500 行不同的行。因此,为了能够索引作为字符串的行,我需要一个用于关键字等的数组。但我不知道如何转换查询或将其打印为数组。
总结一下:我有 500 行字符串,我希望它们作为数组打印,但无法打印。
谢谢。
我的查询函数:
override init(style: UITableViewStyle, className: String!) {
super.init(style: style, className: className)
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!
self.parseClassName = "myClassName"
self.textKey = "myColoumnName"
self.pullToRefreshEnabled = true
self.paginationEnabled = false
}
override func queryForTable() -> PFQuery {
var query = PFQuery(className: "myClassName")
query.cachePolicy = .CacheThenNetwork
query.orderByAscending("myColoumnName")
query.limit = 1000
return query
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> myPFTableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("mySegue") as! myPFTableViewCell!
if cell == nil {
cell = myPFTableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "mySegue")
}
if let myString = object?["myColoumnName"] as? String {
cell?.myLabel?.text = myString
}
if let myString2 = object?["myColoumnName2"] as? String {
cell?.myLabel2?.text = myString2
}
return cell
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "mySegue2" {
var detailScene = segue.destinationViewController as! myViewController
if let indexPath = self.tableView.indexPathForSelectedRow {
let row = Int(indexPath.row)
detailScene.currentObject = (objects?[row] as! PFObject)
}
}
}
当使用 PFQueryTableViewController
时,查询的所有结果都存储在 objects
数组中。这是一个 PFObjects 数组,因此您需要创建一个函数来使用 PFObjects 的属性创建搜索词数组。可能是这样的:
if let objectsArray = objects as [PFObject] {
for object in objectsArray {
stringArray.append(object["myColoumnName"] as? String)
}
}
我想让用户通过 Spotlight 搜索我的应用程序。我有一个包含 500 行的 PFQueryTableViewController。在 Parse 中,可搜索信息保存为 String,共有 500 行不同的行。因此,为了能够索引作为字符串的行,我需要一个用于关键字等的数组。但我不知道如何转换查询或将其打印为数组。
总结一下:我有 500 行字符串,我希望它们作为数组打印,但无法打印。
谢谢。
我的查询函数:
override init(style: UITableViewStyle, className: String!) {
super.init(style: style, className: className)
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!
self.parseClassName = "myClassName"
self.textKey = "myColoumnName"
self.pullToRefreshEnabled = true
self.paginationEnabled = false
}
override func queryForTable() -> PFQuery {
var query = PFQuery(className: "myClassName")
query.cachePolicy = .CacheThenNetwork
query.orderByAscending("myColoumnName")
query.limit = 1000
return query
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> myPFTableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("mySegue") as! myPFTableViewCell!
if cell == nil {
cell = myPFTableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "mySegue")
}
if let myString = object?["myColoumnName"] as? String {
cell?.myLabel?.text = myString
}
if let myString2 = object?["myColoumnName2"] as? String {
cell?.myLabel2?.text = myString2
}
return cell
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "mySegue2" {
var detailScene = segue.destinationViewController as! myViewController
if let indexPath = self.tableView.indexPathForSelectedRow {
let row = Int(indexPath.row)
detailScene.currentObject = (objects?[row] as! PFObject)
}
}
}
当使用 PFQueryTableViewController
时,查询的所有结果都存储在 objects
数组中。这是一个 PFObjects 数组,因此您需要创建一个函数来使用 PFObjects 的属性创建搜索词数组。可能是这样的:
if let objectsArray = objects as [PFObject] {
for object in objectsArray {
stringArray.append(object["myColoumnName"] as? String)
}
}