将字符串查询解析为数组

时间:2015-09-21 15:00:33

标签: ios swift parse-platform tableview corespotlight

我想让用户在聚光灯下搜索我的应用。我有一个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)
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

使用PFQueryTableViewController时,查询的所有结果都存储在objects数组中。这是一个PFObjects数组,因此您需要创建一个函数来使用PFObject的属性创建搜索项数组。它可以是这样的:

if let objectsArray = objects as [PFObject] {
    for object in objectsArray {
        stringArray.append(object["myColoumnName"] as? String)
    }
}