【问题标题】:error : "protocol methods may not have bodies" in Swift [closed]错误:Swift中的“协议方法可能没有主体”[关闭]
【发布时间】:2015-01-14 22:00:02
【问题描述】:

我在 Swift 中遇到了这个错误:

“协议方法可能没有主体”

【问题讨论】:

  • 你应该只有一个方法签名。解决方案:删除函数声明后的{}
  • 协议没有实现,但是如果你想要一个协议的默认函数,你可以为这个协议编写一个扩展并实现。

标签: swift error-handling


【解决方案1】:

在发布有关堆栈溢出的问题时,一些代码会非常有用,尤其是在涉及编译错误时。

但是问题在于您正在实现协议方法的主体,这对于 swift 协议是不允许的 - 您可以做的只是声明方法和属性,但实现留给采用该协议的类和结构.

我建议你阅读一些关于swift protocols的文档

【讨论】:

    【解决方案2】:

    这意味着您试图在协议声明中实际实现一个方法 - 协议定义方法的签名,但实现必须在类/结构/枚举中。

    【讨论】:

    • 实现也可以在扩展中。比如:extension SomeProtocol { func someFunction() {} }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多