我想让用户在聚光灯下搜索我的应用。我有一个500行的PFQueryTableViewController。在解析保存为String的可搜索信息时,总共有500个不同的行。因此,为了能够索引作为String的行,我需要一个关键字等数组。但我不知道如何转换查询或将其打印为数组。
总结:我有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)
}
}
}
答案 0 :(得分:1)
使用PFQueryTableViewController
时,查询的所有结果都存储在objects
数组中。这是一个PFObjects数组,因此您需要创建一个函数来使用PFObject的属性创建搜索项数组。它可以是这样的:
if let objectsArray = objects as [PFObject] {
for object in objectsArray {
stringArray.append(object["myColoumnName"] as? String)
}
}