gpt4 book ai didi

swift - swift 枚举大小写中的可选参数

转载 作者:IT王子 更新时间:2023-10-29 05:23:16 25 4
gpt4 key购买 nike

在 swift 中,一个函数可以有一个带有默认值的可选参数,例如:

func f(a:Int, b:Int?=nil) {}

f(1);
f(1,2);

我想用枚举的关联值来做到这一点。关注这篇关于 type safe url routes 的帖子,我想要一个可以接受可选参数的路由,例如:

enum StopPoint {
case Search(query:String, limit:Int?=nil)
}

但是它说我不能为元组中的参数设置默认值。然而,有可能出现诸如 case Arrivals(stopId:Int) 之类的情况,但一般情况下不可能有一个带有一个命名参数的元组。

那么有没有可能有一个带有默认参数的枚举,关联的值是否是一个元组?

最佳答案

你可以做的是:

enum StopPoint {
case Search(query: String, limit: Int?)

init(query: String, limit: Int? = nil) {
self = .Search(query: query, limit: limit)
}
}

let foo = StopPoint(query: "default") // Search("default", nil)
let bar = StopPoint(query: "special", limit: 42) // Search("special", Optional(42))

关于swift - swift 枚举大小写中的可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34456531/

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