假设我有类似class Foo <T>
的通用类型,其方法类似于func bar (_ arg: T)
。
如果我let foo = Foo<Void>()
,我不能在没有获得foo.bar()
的情况下执行:
Cannot invoke 'bar' with no arguments
这不适用于旧版本的Swift吗?或者我做错了什么?
foo.bar(())
有效,但显然不太理想。
答案 0 :(得分:0)
您可以将参数定义为可选参数,并将nil定义为默认值以实现此目的:
func bar (_ arg: T? = nil)