【发布时间】:2014-11-06 14:56:44
【问题描述】:
这就是我想要的:
一个可以接受可选参数的 swift 函数,因此以下对函数 myFunc 的调用都可以正常工作:
// assume we have a Dictionary like this
let dict=["key":"value"]
myFunc()
myFunc(dict)
函数myFunc 的工作原理如下:
任何传入myFunc 的字典都会与myFunc 中的字典合并。如果没有字典传入myFunc,那么myFunc 中的字典将按原样使用。
这就是我想在 Swift 中实现的目标。这就是我一直在做的事情:
似乎你不能完全省略参数,但在阅读了一些关于我一直在研究默认参数之后。我希望参数是字典类型,但如果没有指定参数,那么我什么都不想要,或者至少是一个空的字典。我已经像这样声明了一个空字典:
let emptyDict = Dictionary<String,String>()
然后我用这样的默认参数声明我的函数:
func myFunc(paramDict:Dictionary = emptyDict){ ... }
这给了我以下错误:
Reference to generic type 'Dictionary' requires arguments in <...>
我在这里假设它在抱怨,因为我使用空字典作为参数。
谁能告诉我如何在 Swift 中构建一个可以像我希望 myFunc 那样运行的函数?
【问题讨论】:
-
你可以试试 func myFunc(paramDict: Dictionary...) 或 func myFunc(paramDict: Dictionaray? = nil)(对不起,我没有我的 mac)
标签: dictionary swift optional-parameters