试图找出Swift中奇怪的协议结果
这是交易。我在实现编程中遇到了这种行为,这确实使我感到困惑。我试图弄清楚为什么会发生这种情况,因此我可以在以后解决。
我将在一分钟内粘贴一个相当复杂(但最少)的游乐场,但我想首先概述一下问题。这是一个相当复杂的过程,我设计了一个层次结构,我认为它达到了所有要点。
问题是,如果我将一个类(而不是一个结构体)定义为符合默认实现的协议,则通过实现定义的方法来覆盖它,即使我期望第二个协议实现,协议默认实现也会继续执行要执行的实现,并且继承层次结构将被忽略。
在下面,我有一个游乐场(最新的Xcode)和生成的打印输出...