IGListKit/Source/IGListStackedSectionController.h
Jesse Squires 204f7d5390 Docs updates and refinements, #181
Summary:
Did a full pass on documentation.

- Clean up
- Fixes
- Better markdown

> **NOTE:** this PR does not re-gen docs. I will do that next. Before we cut 2.0
Closes https://github.com/Instagram/IGListKit/pull/198

Reviewed By: rnystrom

Differential Revision: D4181253

Pulled By: jessesquires

fbshipit-source-id: 133c4af392bb396ecc6eff0c895c55e6d18730b7
2016-11-15 11:44:10 -08:00

48 lines
1.7 KiB
Objective-C

/**
* Copyright (c) 2016-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
#import <IGListKit/IGListSectionController.h>
#import <IGListKit/IGListSectionType.h>
#import <IGListKit/IGListMacros.h>
/**
An instace of `IGListStackedSectionController` is a clustered section controller,
composed of many child section controllers. It constructs and routes item-level
indexes to the appropriate child section controller with a local index. This lets you build section controllers made up
of individual units that can be shared and reused with other section controllers.
For example, you can create a "Comments" section controller that displays lists of text that is used alongside photo,
video, or slideshow section controllers. You then have four small and manageable section controllers instead of one
huge class.
*/
IGLK_SUBCLASSING_RESTRICTED
@interface IGListStackedSectionController : IGListSectionController <IGListSectionType>
/**
Creates a new stacked section controller.
@param sectionControllers An array of section controllers that make up the stack.
@note The order of the section controllers dictates the order in which they appear.
@warning The first section controller that is the supplementary source decides which supplementary views get displayed.
*/
- (instancetype)initWithSectionControllers:(NSArray <IGListSectionController<IGListSectionType> *> *)sectionControllers NS_DESIGNATED_INITIALIZER;
/**
:nodoc:
*/
- (instancetype)init NS_UNAVAILABLE;
/**
:nodoc:
*/
+ (instancetype)new NS_UNAVAILABLE;
@end