ios - 将字符串查询解析为数组

标签 ios swift parse-platform tableview corespotlight

我想让用户通过 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)
    }
}

关于ios - 将字符串查询解析为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32698499/

相关文章:

ios - 使用另一个 View 的中心作为 anchor 旋转 View

iphone - 自动发送消息和邮件?

ios - 以编程方式在两个 subview 之间创建约束

iOS SceneKit 统计解释

ios - 带有多列图像的CoreText?

python - Swift 中的十六进制/二进制字符串转换

Swift:无法捕获具有关联数据的特定错误情况

ios - Swift 无法更新 Parse 对象

ios - [错误] : unsupported URL in AWS

ios - NSNotfication.addObserver - 更新到当前的 Swift 语法?