diff --git a/Source/IGListKit/IGListCollectionViewLayout.mm b/Source/IGListKit/IGListCollectionViewLayout.mm index e69ef50f..59a6ab9d 100644 --- a/Source/IGListKit/IGListCollectionViewLayout.mm +++ b/Source/IGListKit/IGListCollectionViewLayout.mm @@ -462,16 +462,18 @@ static void adjustZIndexForAttributes(UICollectionViewLayoutAttributes *attribut - (NSString *)_classNameForDelegate:(id)delegate sectionIndex:(NSInteger)section { NSString *const delegateClassString = NSStringFromClass(delegate.class); - if ([delegateClassString isEqualToString:@"IGListAdapterProxy"] == NO) { + const BOOL isListAdapter = [delegateClassString isEqualToString:@"IGListAdapter"]; + const BOOL isListAdapterProxy = [delegateClassString isEqualToString:@"IGListAdapterProxy"]; + if (isListAdapter == NO && isListAdapterProxy == NO) { return delegateClassString; } - id forwardingObject = [(id)delegate forwardingTargetForSelector:@selector(collectionView:layout:insetForSectionAtIndex:)]; + const id forwardingObject = (isListAdapterProxy ? [(id)delegate forwardingTargetForSelector:@selector(collectionView:layout:insetForSectionAtIndex:)] : delegate); if ([forwardingObject isKindOfClass:IGListAdapter.class] == NO) { return NSStringFromClass([forwardingObject class]); } - id sectionController = [forwardingObject sectionControllerForSection:section]; + const id sectionController = [forwardingObject sectionControllerForSection:section]; return NSStringFromClass([sectionController class]); }