gpt4 book ai didi

objective-c - 像 (Where) 这样的默认关键字在 swift 方法的外部参数中使用时会产生问题

转载 作者:搜寻专家 更新时间:2023-11-01 06:23:43 25 4
gpt4 key购买 nike

实际上,我正在使用一个第三方库,它已集成到我的 swift 项目中。

在库中,一些方法签名使用了Where关键字作为外部参数,这似乎给从swift代码调用方法带来了麻烦。

var result = modelHandler.search(CustomerModel.self, where:[:], orderBy: "", offset: 0, count: 10)

objective-c 中的方法签名:

-(NSMutableArray *)search:(Class)modelClass where:(id)where orderBy:(NSString *)orderBy offset:(NSInteger)offset count:(NSInteger)count

错误是这样的:Expected separator ', '

最佳答案

在 Playground 中尝试了几次之后,我发现无法在方法中使用“where”作为参数名称,因为它是 Swift 中的保留字。

以下方法声明给我相同的问题消息:

Expected ',' separator

func sayHello(integer: Int, #where: [String : Int]) {
println("Hello")
}

func sayHello(integer: Int, where: [String : Int]) {
println("Hello")
}

但是Swift programming language状态:

To use a reserved word as an identifier, put a backtick before and after it.

因此,下面的代码将被编译:

// Note the use of backticks (`)
func sayHello(integer: Int, `where`: [String : Int]) {
println("Hello")
}

关于objective-c - 像 (Where) 这样的默认关键字在 swift 方法的外部参数中使用时会产生问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28451139/

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