具有变量输入参数列表的协议中的函数声明

时间:2015-08-26 22:12:02

标签: swift

我的应用程序中有各种fetcher类,我想创建一个名为Fetcher的协议。

我的所有提取器类都具有类似的功能 final func fetch(code: String) -> Voidfinal func fetch() -> Voidfinal func fetch(department: String, registrationYear: String) -> Void

因此,我尝试将此协议创建为

protocol Fetcher {
    static func fetch(_)
}
然而,它并没有接受这种方法。

你有什么建议吗?

作为旁注;它并不总是必须有String类型的输入,我需要更通用的解决方案。谢谢。

1 个答案:

答案 0 :(得分:0)

您是如何使用Fetcher的?存在这样一个协议的原因是要知道它对一个特定的函数做出响应,但考虑到所有的fetcher类都采用不同的参数,它们并没有真正的共同点。 Swift不允许您定义此协议,因为它实际上并没有承诺任何东西。解决方案是根本不为此定义协议。