【发布时间】:2016-10-25 23:49:06
【问题描述】:
我有一个函数:myFunction(param1: class?, param2: class?, param3: Int, ...) 其中第一个参数是可选的,它们的类型是自定义类。 但有时,我需要放入这些参数的类不存在,这就是为什么这些参数是可选的。而且我不能将“nil”作为值。
所以我想做这样的事情:
if (param1 !=nil && param2 != nil) {
myFunction(param1: myClass, param2: myClass, param3: 2, ...)
}
else if (param1 ==nil && param2 == nil) {
myFunction(param3: 2, ...)
}
else if (param1 !=nil && param2 == nil) {
myFunction(param1: myClass, param3: 2, ...)
}
else if (param1 ==nil && param2 != nil) {
myFunction(param2: myClass, param3: Int, ...)
}
...
问题是,在我的函数中,我有更多可选参数,所以如果我需要为所有选项设置一个“if”条件,那将无法管理。
那么有没有办法在函数参数中放置一个 if 条件?示例:
myFunction(myClass==nil ? <nothing>:param1: myClass, myClass==nil ? <nothing>:param2: myClass, param3: 2, ...)
非常感谢您的帮助:)
问候,
【问题讨论】:
-
But sometimes, the class I need to put in these parameters doesn't exist, that's why these parameters are optional.怎么会有一个不作为参数类型存在的类? -
另外,我很好奇你认为 nil 是什么意思,如果不是
<nothing> -
你应该清楚类、类型、实例等。你在什么情况下传递什么?你真的要在最后一个函数调用中传递 type
Int吗?
标签: swift function optional-parameters