【发布时间】:2017-07-25 16:01:35
【问题描述】:
我正在尝试在 Swift 文件中定义一些协议,但是我注意到如果这些协议有交叉引用,XCode 就会出现错误,并且无法使用该项目。使用的协议示例可能如下所示:
protocol VIPERPresenterProtocol
{
var view: VIPERViewProtocol? { get set }
var interactor: VIPERInteractorInputProtocol? { get set }
var wireFrame: VIPERWireFrame? { get set }
// /* Add your extra communication methods here */
// /* Presenter -> ViewController */
}
protocol VIPERViewProtocol
{
var presenter: VIPERPresenterProtocol? { get set }
}
VIPERPresenterProtocol 引用了 VIPERViewProtocol,而这最后一个引用了 VIPERPresenterProtocol。
这在 Objective-C 中有效,但 Swift 不喜欢。我的问题是,这是 Apple 不希望在 Swift 中支持的东西吗,如果它可能是 Swift 语言的一个错误,或者我应该以任何其他方式实现它。
【问题讨论】: