gpt4 book ai didi

swift - 无法在 if 语句中设置查询?

转载 作者:行者123 更新时间:2023-11-30 13:22:45 24 4
gpt4 key购买 nike

基本上,我试图根据从前一个表 Controller 获取的indexpath.row值在当前表 Controller 中设置特定查询。例如,

        if indexpath1 == 1 
{
let query = CKQuery(recordType: "American", predicate: predicate)
}
else
{
let query = CKQuery(recordType: "Bistro", predicate: predicate)
}

publicDatabase.performQuery(query, inZoneWithID: nil) { (results, error) -> Void in

但是,performquery 函数出现了“使用未解析的标识符“查询”。

我是否需要在 if 语句之前将查询设置为一个值,以充当根据 if 语句更改的基值?或者我无法完成这个逻辑?

最佳答案

这是一个基本的范围问题,您在 if 内创建一个本地查询实例,但这不会在这个世界上产生任何好处。

var query: CKQuery
if indexpath1 == 1 {
query = CKQuery(recordType: "American", predicate: predicate)
}
else
{
query = CKQuery(recordType: "Bistro", predicate: predicate)
}

publicDatabase.performQuery(query, inZoneWithID: nil) { (results, error) -> Void in

或者也许更优雅一点:

let recordType = indexpath1 == 1 ? "American" : "Bistro"
let query = CKQuery(recordType: recordType, predicate: predicate)
publicDatabase.performQuery(query, inZoneWithID: nil) { (results, error) -> Void in {
//...
}

关于swift - 无法在 if 语句中设置查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37606264/

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