From 12dbfd1992cef147d06f1de6d564c08d0ed783a0 Mon Sep 17 00:00:00 2001 From: Huy Nguyen Date: Tue, 3 Nov 2015 19:53:58 +0200 Subject: [PATCH] Only set a default layout delegate to ASCellNode if it is not provided by the async data source --- AsyncDisplayKit/ASCollectionView.mm | 4 +++- AsyncDisplayKit/ASTableView.mm | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/AsyncDisplayKit/ASCollectionView.mm b/AsyncDisplayKit/ASCollectionView.mm index adb7b69d9c..273f66e105 100644 --- a/AsyncDisplayKit/ASCollectionView.mm +++ b/AsyncDisplayKit/ASCollectionView.mm @@ -655,7 +655,9 @@ static BOOL _isInterceptedSelector(SEL sel) { ASCellNode *node = [_asyncDataSource collectionView:self nodeForItemAtIndexPath:indexPath]; ASDisplayNodeAssert([node isKindOfClass:ASCellNode.class], @"invalid node class, expected ASCellNode"); - node.layoutDelegate = self; + if (node.layoutDelegate == nil) { + node.layoutDelegate = self; + } return node; } diff --git a/AsyncDisplayKit/ASTableView.mm b/AsyncDisplayKit/ASTableView.mm index d032e12736..d8e8bbe584 100644 --- a/AsyncDisplayKit/ASTableView.mm +++ b/AsyncDisplayKit/ASTableView.mm @@ -820,7 +820,9 @@ static BOOL _isInterceptedSelector(SEL sel) { ASCellNode *node = [_asyncDataSource tableView:self nodeForRowAtIndexPath:indexPath]; ASDisplayNodeAssert([node isKindOfClass:ASCellNode.class], @"invalid node class, expected ASCellNode"); - node.layoutDelegate = self; + if (node.layoutDelegate == nil) { + node.layoutDelegate = self; + } return node; }