我想为两个不同的类使用相同的协议。它适用于两个UIStoryboardSegue
类,正常类和展开segue。在我的第一堂课GameSegue.swift
中,我已经宣布了这个协议
@objc protocol ViewControllerWithBackgroundImage {
var backgroundImage: UIImageView { set get }
}
我使用此协议可以访问ViewControllers属性backgroundImage
。在第一个班级GameSegue.swift
中,正常的segue,backgroundImage
动画10 px
向上。所以在第二课GameSegueUnwind.swift
中,我想向后做同样的事情,向下移动背景10 px
。但是要访问backgroundImage
属性,我需要这个协议。因此,不宣布另一个协议,而是使用相同的协议将是有用的。
知道这有可能吗?
答案 0 :(得分:2)
在第二个类中,只声明一个新的委托变量
class GameSegueUnwind {
var secondDelegate: ViewControllerWithBackgroundImage?
}
您将能够在符合协议的任何其他类中访问该函数。当然,在符合要求的类中,请记住声明它在准备segue方法中具有委托处理程序
destinatonViewController.secondDelegate = self