1

カスタムUICollectionViewControllerをオブジェクト(A)としてInterface Builderに追加し、適切なカスタムクラスを指定しました。このEOCollectionViewControllerは、メインのViewcontrollerのIBOutletでもあります。

アプリケーションのメインビューにUICollectionViewを追加しました。

私はすべてのリンクを可能にしました。UICollectionViewには、デリゲートおよびデータソースとしてのオブジェクト(A)があります。オブジェクト(A)には、viewプロパティにリンクされたUICollectionViewがあります。(これは存在しないため、self.collectionViewプロパティではありません)

それはすべてうまくいきます。コレクションビューがいっぱいになります。CollectionViewControllerは、メインのViewControllerのプロパティにあります。

self.collectionViewのみがnilです...UICollectionViewController内からアクセスしようとすると。

私の最初の推測では、IBで使用される「余分な」UIControllerは同じように初期化されません。また、テストしましたが、viewDidLoadとinitがこれらの余分なオブジェクトに対して呼び出されることはありません。

EONoteControllerのヘッダーを添付しました(および回避策として追加されたIBOutlet)

@interface EONoteController : UICollectionViewController<UIGestureRecognizerDelegate>{

    __weak IBOutlet UICollectionView *cvNotes;
}
@property (nonatomic) EDAMNotebook* notebook;
@property id <EODragHandler> draghandler;
@end

私の最初の推測は、次のようにviewDidLoadでそれを「修正」することでした。self.collectionView= self.viewですが、viewDidLoadが呼び出されることはありません。

私は何が欠けていますか?

4

0 に答える 0