/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import IGListKit import UIKit final class NestedAdapterViewController: UIViewController, ListAdapterDataSource { lazy var adapter: ListAdapter = { return ListAdapter(updater: ListAdapterUpdater(), viewController: self) }() let collectionView = UICollectionView(frame: .zero, collectionViewLayout: UICollectionViewFlowLayout()) let data: [Any] = [ "Ridiculus Elit Tellus Purus Aenean", "Condimentum Sollicitudin Adipiscing", 14, "Ligula Ipsum Tristique Parturient Euismod", "Purus Dapibus Vulputate", 6, "Tellus Nibh Ipsum Inceptos", 2 ] override func viewDidLoad() { super.viewDidLoad() view.addSubview(collectionView) adapter.collectionView = collectionView adapter.dataSource = self } override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() collectionView.frame = view.bounds } // MARK: ListAdapterDataSource func objects(for listAdapter: ListAdapter) -> [ListDiffable] { return data as! [ListDiffable] } func listAdapter(_ listAdapter: ListAdapter, sectionControllerFor object: Any) -> ListSectionController { if object is Int { return HorizontalSectionController() } else { return LabelSectionController() } } func emptyView(for listAdapter: ListAdapter) -> UIView? { return nil } }