child ViewController不调用父类中声明的委托方法

时间:2017-09-07 10:19:11

标签: ios iphone swift

我有一个父类:CreateMap<Product, ProductDto>() 。这个类中有一个UICollectionView Outlet,它在故事板中与UICollectionView连接在它的子类GroupsViewController中。所有委托方法都在父类NearbyGroupViewController中实现。问题是,当GroupsViewController打开时,永远不会调用委托方法。我做错了什么?

NearbyGroupViewController

4 个答案:

答案 0 :(得分:0)

通过编程方式(如此)或通过Interface Builder将GroupsViewController 连接设置为UICollectionViewDelegateUICollectionViewDataSource

self.collectionView.delegate = self
self.collectionView.datasource = self

编辑:

  

问题是,当打开NearbyGroupViewController时,永远不会调用委托方法。我做错了什么?

您的NearbyGroupViewController还需要连接到UICollectionView的委托和数据源。

答案 1 :(得分:0)

您是否尝试过在父类本身中实现委托方法?

答案 2 :(得分:0)

您必须设置delegate = self(NearbyGroupViewController的实例)

表示当您在父视图控制器(NearbyGroupViewController)中创建子视图控制器(GroupsViewController)的实例时,您必须设置此delegate

let targetVC: NearbyGroupViewController = self.storyboard!.instantiateViewController(withIdentifier: "NearbyGroupViewController") as! NearbyGroupViewController
targetVC.delegate = self
self.navigationController!.pushViewController(targetVC, animated: true)

在上面的示例中,您必须在故事板文件中设置storyboard identifier "NearbyGroupViewController"

答案 3 :(得分:-3)

试试这段代码

let parent = GroupsViewController()

然后使用

parent.title = ""