我想对两个不同的类使用相同的协议。它适用于两个UIStoryboardSegue类,一个是普通类,另一个是展开类。在我的第一堂课GameSegue.swift中,我已经声明了这个协议
@objc protocol ViewControllerWithBackgroundImage {
var backgroundImage: UIImageView { set get }
}我使用这个协议来访问ViewControllers属性backgroundImage。在第一类GameSegue.swift中,backgroundImage将10 px动画化。所以在第二类GameSegueUnwind.swift中,我想做同样的事情,将背景10 px向下移动。但是要访问backgroundImage属性,我需要这个协议。因此,不要声明另一个协议,而是使用相同的协议,这将是有用的。
知道这怎么可能吗?
发布于 2016-06-04 12:01:01
在第二个类中,只声明一个新的委托变量。
class GameSegueUnwind {
var secondDelegate: ViewControllerWithBackgroundImage?
}您将能够访问符合协议的任何其他类中的函数。当然,在一致性类中,记住要声明它在prepare方法中具有委托处理程序。
destinatonViewController.secondDelegate = selfhttps://stackoverflow.com/questions/27909468
复制相似问题