gpt4 book ai didi

ios - 根据 Swift 中的参数返回不同类型的数据

转载 作者:行者123 更新时间:2023-11-28 07:00:52 25 4
gpt4 key购买 nike

我有不同的类,每个类都有返回不同类型的方法。我不想一遍又一遍地重复自己写同样的东西——感觉这是一种不好的做法,我想知道一个函数是否可以根据函数中给定的参数返回对象。例如:

func myFunction(type: String) -> ?? {
switch type {
case myClass1:
return objectTypeMyClass1
break;
case myClass2:
return objectTypeMyClass2
break;
case myClass3:
return objectTypeMyClass3
break;
default:
break;
}
}

这是一个好的做法吗?这是可能的。

最佳答案

您可以使用 enum 作为类型的容器(类似于 Apple 处理可选类型的方式):

enum TypeContainer {
case SomeInt(Int)
case SomeString(String)
case SomeBool(Bool)

init(int: Int) {
self = .SomeInt(int)
}

init(string: String) {
self = .SomeString(string)
}

init(bool: Bool) {
self = .SomeBool(bool)
}
}

let a = TypeContainer(string: "123")
let b = TypeContainer(int: 88)
let c = TypeContainer(bool: true)

switch a {
case .SomeInt(let i):
println(i)
case .SomeString(let s):
println(s)
case .SomeBool(let b):
println(b)
default:
break
}

关于ios - 根据 Swift 中的参数返回不同类型的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32083853/

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