Skip to content

About ReloadData #168

Description

@mozartee

Some of my code:

        let titleProvider = LabelProvider(text: "CollectionKit", font: .boldSystemFont(ofSize: 32))
        let contentProvider = LabelProvider(text: "A modern swift framework for building reusable collection view components.", font: .boldSystemFont(ofSize: 28))

        let buttonProvider = ButtonProvider(title: "Reload", sizeStrategy: (.fill, .absolute(50)), insert: UIEdgeInsets(top: 10, left: 0, bottom: 10, right: 0)) { _ in
            let label = UILabel()
            label.text = "change the text"
            contentProvider.views.append(label)
        }

...

  let sections = [
            waterfallProvider,
            gridProvider,
            wrapProvider
        ] as [Provider]
        let composedHeaderProvider = ComposedHeaderProvider(
            headerViewSource: { (view: UILabel, _, index) in
                view.text = headers[index]
                view.font = .boldSystemFont(ofSize: 21)
                view.backgroundColor = .white
            },
            headerSizeSource: { _, _, size -> CGSize in
                CGSize(width: size.width, height: 40)
            },
            sections: sections
        )
        composedHeaderProvider.isSticky = false

        let composedProvider = ComposedProvider(
            layout: FlowLayout(spacing: 10).inset(by: UIEdgeInsets(top: 0, left: 20, bottom: safeAreaBottom(), right: 20)),
            sections: [
                spaceProvider,
                titleProvider,
                contentProvider,
                buttonProvider,
                composedHeaderProvider
            ]
        )

        collectionView.provider = composedProvider 

When I reload with contentProvider.views.append(label), the whole provider reload. Is that right? I need reload some widget like Flutter.

I had seen Note that if you assign an array to the dataSource and later update that array instead. It won't actually update the CollectionView in the Readme, but it's wrong with me.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions