2017-09-07 12 views
0

私は親クラス:GroupsViewControllerを持っています。このクラスの中にはUICollectionView Outletがあり、その子クラスにはUICollectionViewを使用してストーリーボードに接続されていますNearbyGroupViewController。すべてのデリゲートメソッドは、親クラスGroupsViewControllerの内部に実装されています。問題は、NearbyGroupViewControllerが開かれたときに、デリゲートメソッドが呼び出されないことです。私は何を間違えているのですか?子ViewControllerは、親クラスで宣言されたデリゲートメソッドを呼び出さない

class GroupsViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout { 

      @IBOutlet weak var collectionView: UICollectionView 
    ... 
    } 

class NearbyGroupViewController: GroupsViewController {}

答えて

0

あなたGroupsViewControllerがプログラムそれをやって(そのような)またはInterface Builderを経由してのいずれかでUICollectionViewDelegateUICollectionViewDataSourceからを接続してください。

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

EDIT:

問題はNearbyGroupViewControllerが開かれるデリゲートメソッドが呼び出されることはありませんということです。私は何を間違えているのですか?

NearbyGroupViewControllerは、UICollectionViewの代理人とデータソースにも接続する必要があります。

+0

はい、私の悪いです。ありがとう。 – Glenn

-3

parent.title = "" 
0

を使用すること、その後

let parent = GroupsViewController() 

このコードを試してみてください、あなたは、親クラス自体にデリゲートメソッドを実装して試してみましたか?あなたはこのdelegateを設定する必要があり、その時点で親ビューコントローラ(GroupsViewController)で、子ビューコントローラ(NearbyGroupViewController)のインスタンスを作っているとき

手段あなたがdelegate = self(NearbyGroupViewControllerのインスタンス)を設定する必要が

0

。上記の例では

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

あなたのストーリーボードファイルに"NearbyGroupViewController"storyboard identifierを設定する必要があります。

関連する問題