我有两个文件:DBStartViewController.swift
和DBFindViewController.swift
当我定义protocol
时:
protocol DBViewAnimationTransitioning {
var viewForAnimation: UIView? { get set }
}
DBStartViewController.swift
中的在DBFindViewController.swift
中无法显示。我收到一个错误:
使用未声明的类型
DBViewAnimationTransitioning
。
但是当我将我的声明移到DBFindViewController.swift
时,一切都很好。为什么会这样?
我需要在DBStartViewController.swift
中使用它才能使我的代码清晰明了。
答案 0 :(得分:4)
如果您的班级位于不同的应用目标中,请确保使用public
作为协议的访问修饰符。默认情况下它是internal
,这意味着它在模块中共享,但从外部看不到。
答案 1 :(得分:0)
选择/打开协议时,请确保正确选中了右侧栏上的Target Membership
。
答案 2 :(得分:-2)
您可能在ViewController类中包含协议声明。在这种情况下,您可能需要致电DBStartViewController.DBViewAnimationTransitioning
。
可以肯定的是,我需要看一些代码。