0
我想创建一个委托函数来重新加载事件上不同视图控制器中的集合视图。获取用于代理功能的ViewController的正确实例
为此,我定义了一个协议,在类中设置委托和一个简单的委托函数。
protocol ReloadCollectionDelegate: class {
func reloadCollectionViewFromDelegate()
}
class JourneyViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UITabBarControllerDelegate, UIScrollViewDelegate, ReloadCollectionDelegate {
// delegate function from downloadCollectionController to relaod collection
func reloadCollectionViewFromDelegate() {
// simply call the reload function
reloadCollection()
}
而且在我的类,将调用上面的函数:
// define the delegate for use
weak var reloadJourneyDelegate: ReloadCollectionDelegate?
// reload the collection view in JourneyViewController
let JVC = self.viewController.storyboard!.instantiateViewController(withIdentifier: "JourneyViewController") as! JourneyViewController
self.reloadJourneyDelegate = JVC
self.reloadJourneyDelegate?.reloadCollectionViewFromDelegate()
打印(JVC):
JourneyViewController: 0x7fc7f7c55bf0
打印(个体经营) - 从JourneyViewController(viewDidLoad中):
JourneyViewController: 0x7fc7f7e2db10
所以我越来越相同视图控制器的不同实例。
我如何定义这个,所以我有正确的实例并可以修改UI?
感谢
你在哪里调用viewDidLoad中? –
在类JourneyViewController中的viewDidload()中打印self – Pippo