【问题标题】:Swift: Cannot find protocol declarationSwift:找不到协议声明
【发布时间】:2015-12-18 00:09:27
【问题描述】:

我在 Swift 2 中遇到了一个非常奇怪的错误。我正在使用EventKitUI,并且能够显示视图控制器。当我尝试添加对委托的支持时,虽然我得到了两个构建错误:

找不到“EKEventEditViewDelegate”的协议声明

预期类型

错误出现在我的项目-swift.h(该项目混合了 Swift 和 Objective-c)。

知道为什么会这样吗?除非我遗漏了什么,否则我看不到任何可能导致这种情况的基本错误(错字等)。

【问题讨论】:

  • 嗨,你能展示一下你是如何导入 EventKit 的吗?
  • import EventKitUI 在文件顶部。我还通过项目设置添加了框架。

标签: ios objective-c swift swift2


【解决方案1】:

我在使用 CocoaPods 时突然遇到了这个错误。我通过在我的 Swift 桥接头中导入 SDWebImage 来修复它,如下所示:

#import <SDWebImage/SDWebImage-umbrella.h>

【讨论】:

    【解决方案2】:

    不管怎样,如果你的协议包含 ObjC 不支持的东西,例如 swift 结构,就会发生这种情况。每当我得到这个时,我通常会发现结构是我期望从协议来回发送的东西的一部分

    【讨论】:

    • 这解释了我的问题,因为我的导入是正确的。委托内部有两个函数返回一个 swift Struct。谢谢。
    【解决方案3】:

    奇怪的修复,但通过在我的桥接头中导入 #import &lt;EventKitUI/EventKitUI.h&gt;,问题得到了解决。

    【讨论】:

    猜你喜欢
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多