gpt4 book ai didi

ios - 框架中的 Swift 协议(protocol)

转载 作者:可可西里 更新时间:2023-11-01 06:13:27 25 4
gpt4 key购买 nike

所以我有一个奇怪的问题,过去几个小时一直困扰着我。

我有一个框架,我在其中创建了一个名为 ChatDelegate 的协议(protocol)(代码如下)

public protocol ChatDelegate: class {
func chat(_ chatCollectionView: UICollectionView, didSelect message: Message)
}

和一个 ViewController(不在框架中),它符合 ChatDelegate,就像这样

extension ChatContainerViewController: ChatDelegate {
func chat(_ chatCollectionView: UICollectionView, didSelect message: Message) {
print("did select")
}
}

但编译器仍然提示 ChatContainerViewController 不符合协议(protocol),我不明白为什么?该函数具有完全相同的 header (我也尝试将 public 放在前面......没有帮助)。

如有任何帮助,我们将不胜感激。

更新我想到了。问题是我的项目和框架中都有 Message 类,编译器不知道选择哪一个。在前面添加 ModuleName (ModuleName.Message) 修复了它。 :D

最佳答案

我遇到了同样的问题。定义协议(protocol)的文件在框架和应用程序目标中都有一个目标成员资格。我通过使定义协议(protocol)的文件在框架中仅具有目标成员资格然后添加 import <FrameworkName> 解决了这个问题。到需要使用该协议(protocol)的应用程序目标中的代码。

关于ios - 框架中的 Swift 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41827875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com