gpt4 book ai didi

ios - Swift 将方法中的特定值作为参数传递

转载 作者:行者123 更新时间:2023-11-29 11:32:57 26 4
gpt4 key购买 nike

我怎样才能创建一个用户只能传递特定值的方法,例如

button.setTitle("SKIP", for: .normal)

setTitle 方法在“for”之后接受特定参数,我们只需按 。 (点),它显示要传递的值的建议。

我想做同样的事情,例如我想做一个计算两点之间距离的方法,

func distanceBetween(loc1: CLLocation, and loc2: CLLocation, unit: String) -> CLLocationDistance {}

这里用户将传递 location1 和 location2 作为参数,我想在传递单位时限制用户,他应该只有 3 个选项,公里、英里和米。

最佳答案

使用您需要的值创建一个枚举,并将该枚举用作参数。

enum Unit {
case km
case miles
case meters
}

现在您的函数将更改为:

func distanceBetween(loc1: CLLocation, and loc2: CLLocation, unit: Unit) -> CLLocationDistance {
switch unit {
case .km:
// Do something for kilometers
case .miles:
// Do something for miles
case .meter:
// Do something for meters
}

如果你添加另一个单元,你的编译器会抛出一个错误,说你没有指定一个 default case,你会立即被要求处理它。

并且您的函数调用会将 Unit 中的任何一个作为参数。示例:

distanceBetween(loc1: location1, and loc2: location2, unit: .km)

关于ios - Swift 将方法中的特定值作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51870696/

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