Swiftpack.co -  lightsprint09/Sourcing as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
lightsprint09/Sourcing
Abstracts TableView & CollectionView DataSources
.package(url: "https://github.com/lightsprint09/Sourcing.git", from: "v0.3.1")

Build Status Carthage Compatible codecov

Sourcing

Typesafe and flexible abstraction for TableView & CollectionView DataSources written in Swift. It helps you to seperate concerns and keep ViewControllers light. By operating on data providers replacing your view implementation is easy at any time.

Documentation

Read the docs. Generated with jazzy. Hosted by GitHub Pages.

Quick Demo

Setting up your Cell by implementing ConfigurableCell & ReuseIdentifierProviding.

import Sourcing

class LabelCell: UITableViewCell, ConfigurableCell {

   func configure(with label: String) {
      textLabel?.text = label
   }
   
}

//If the reuse identifier is the same as the class name.
extension LabelCell: ReuseIdentifierProviding {}

let labelCellConfiguration = CellConfiguration<LabelCell>()
let labelsToDispay = ArrayDataProvider(sections: [["Row 1", "Row 2"], ["Row 1", "Row 2"]])
let dataSource = TableViewDataSource(dataProvider: labelsToDispay, cellConfiguration: labelCellConfiguration)

tableView.dataSource = dataSource

//Add this to sync data changes to the table view.
let changeAnimator = TableViewChangeAnimator(tableView: tableView, dataProvider: labelsToDispay)

Requirements

  • iOS 9.3+
  • Xcode 10.1+
  • Swift 4.2

Installation

Swift Package Manager

SPM is integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies.

Specify the following in your Package.swift:

.package(url: "https://github.com/lightsprint09/Sourcing", from: "4.0.0"),

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

github "lightsprint09/Sourcing" ~> 4.0

Contributing

See CONTRIBUTING for details.

Contact

Lukas Schmidt (Mail, @lightsprint09)

License

Sourcing is released under the MIT license. See LICENSE for details.

GitHub

link
Stars: 14
Last commit: 3 weeks ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Release Notes

😷 Removes Build Waring
27 weeks ago
  • Removes annoying build warning when used with SPM

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API