Чтобы объяснить сообщение об ошибке, давайте рассмотрим fooClass.myFunction
:
let f: (fooClass) -> ((fooEnum) -> String) = fooClass.myFunction
Это функция, которая ожидает экземпляр fooClass
и возвращает другую функцию ((fooEnum) -> String)
. В то время как в вашем коде он получает экземпляр типа fooEnum
.
Вызовите эту функцию в экземпляре:
let myInstance = fooClass()
myInstance.myFunction(chosenEnumCase: fooEnum.fooEnumCase)
Или сделать myFunction
функцией класса:
public class func myFunction(chosenEnumCase: fooEnum) -> String
PS: Чтобы соответствовать соглашениям об именах Swift, используйте FooEnum
и FooClass
.