我的协议定义在另一个 Swift 文件中不可见

My protocol definition is not visible in another Swift file

我有两个文件:DBStartViewController.swiftDBFindViewController.swift

当我定义我的 protocol:

protocol DBViewAnimationTransitioning {
    var viewForAnimation: UIView? { get set }
}

DBStartViewController.swift 中它在我的 DBFindViewController.swift 中不可见。我得到一个错误:

Use of undeclared type DBViewAnimationTransitioning.

但是当我将声明移至 DBFindViewController.swift 时,一切正常。为什么会这样?

我需要在我的 DBStartViewController.swift 中包含它,以使我的代码清晰明了。

您的 ViewController class 中可能有协议声明。在这种情况下,您可能需要调用 DBStartViewController.DBViewAnimationTransitioning.

当然,我需要多看一点代码。

如果您的 类 驻留在单独的应用程序目标中,请确保使用 public 作为协议的访问修饰符。默认情况下它是 internal,这意味着它在模块内共享,但从外部不可见。

当您的协议为 selected/opened 时,请确保正确选中右侧栏中的 Target Membership