我的问题很简单。我有一个类来管理我所有的 viewcontroller 到 viewcontroller 的转换动画,它从协议(protocol)中获取类,因为我想让它可移植,而且我通常用项目特定的东西制作一个 baseviewcontroller。
协议(protocol)是这样的:
protocol AnimatedViewController {
var view: UIView { get set }
func animateViews()
}
但是当我让 UIViewController
继承自它时,我得到了 view
未定义的错误。当我定义它时,它告诉我它已经定义了。
如何在我的协议(protocol)中定义view
,并使其成为已经在UIViewController
中定义的view
?
PS:不知道怎么命名标题,欢迎修改。
最佳答案
您可以在协议(protocol)中使用 where 子句,并且不需要 view
属性。
protocol AnimatedViewController where Self:UIViewController {
func animateViews()
}
class TVC : UIViewController, AnimatedViewController {
func animateViews() {
}
}
关于ios - 如何使现有类成员成为协议(protocol)实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49401853/