Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jessesquires/JSQDataSourcesKit
⚠️ Deprecated ⚠️
https://github.com/jessesquires/JSQDataSourcesKit
datasource ios swift
Last synced: 3 months ago
JSON representation
⚠️ Deprecated ⚠️
- Host: GitHub
- URL: https://github.com/jessesquires/JSQDataSourcesKit
- Owner: jessesquires
- License: other
- Archived: true
- Created: 2015-02-07T22:33:39.000Z (almost 10 years ago)
- Default Branch: develop
- Last Pushed: 2020-04-15T00:29:40.000Z (over 4 years ago)
- Last Synced: 2024-07-29T04:44:25.299Z (4 months ago)
- Topics: datasource, ios, swift
- Language: Swift
- Homepage: https://www.jessesquires.com/blog/2020/04/14/deprecating-jsqdatasourceskit/
- Size: 1.05 MB
- Stars: 683
- Watchers: 24
- Forks: 46
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# JSQDataSourcesKit
[![Build Status](https://secure.travis-ci.org/jessesquires/JSQDataSourcesKit.svg)](https://travis-ci.org/jessesquires/JSQDataSourcesKit) [![Version Status](https://img.shields.io/cocoapods/v/JSQDataSourcesKit.svg)][podLink] [![license MIT](https://img.shields.io/cocoapods/l/JSQDataSourcesKit.svg)][mitLink] [![codecov](https://codecov.io/gh/jessesquires/JSQDataSourcesKit/branch/develop/graph/badge.svg)](https://codecov.io/gh/jessesquires/JSQDataSourcesKit) [![Platform](https://img.shields.io/cocoapods/p/JSQDataSourcesKit.svg)][docsLink] [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)*Protocol-oriented, type-safe data source objects that keep your view controllers light*
A Swift library of data source and delegate objects inspired by [Andy Matuschak's](https://github.com/andymatuschak) *type-safe, value-oriented collection view data source [gist](https://gist.github.com/andymatuschak/f1e1691fa1a327468f8e)*.
## About
This library reduces the boilerplate code regarding the `UITableView`, `UICollectionView`, and `NSFetchedResultsController` data source objects, as well as the `NSFetchedResultsControllerDelegate` object. It helps [keep view controllers light](http://www.objc.io/issue-1/), while focusing on type-safety, [SOLID](http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)) design principles, and easy interoperability with Cocoa. Further, it brings a more focused and data-driven perspective to these data sources. If you want to change your view then you change your data and its structure, without needing to update any data source or delegate protocol methods.
## Requirements
* Xcode 11+
* Swift 5.1+
* iOS 11.0+
* tvOS 11.0+
* [SwiftLint](https://github.com/realm/SwiftLint)## Installation
#### [CocoaPods](https://cocoapods.org) (recommended)
````ruby
use_frameworks!# For latest release in cocoapods
pod 'JSQDataSourcesKit'# Feeling adventurous? Get the latest on develop
pod 'JSQDataSourcesKit', :git => 'https://github.com/jessesquires/JSQDataSourcesKit.git', :branch => 'develop'
````#### [Carthage](https://github.com/Carthage/Carthage)
````bash
github "jessesquires/JSQDataSourcesKit"
````## Documentation
Read the [docs][docsLink]. Generated with [jazzy](https://github.com/realm/jazzy). Hosted by [GitHub Pages](https://pages.github.com).
#### Generate
````bash
$ ./scripts/build_docs.sh
````#### Preview
````bash
$ open index.html -a Safari
````## Contributing
Interested in making contributions to this project? Please review the guides below.
- [Contributing Guidelines](https://github.com/jessesquires/.github/blob/master/CONTRIBUTING.md)
- [Code of Conduct](https://github.com/jessesquires/.github/blob/master/CODE_OF_CONDUCT.md)
- [Support and Help](https://github.com/jessesquires/.github/blob/master/SUPPORT.md)
- [Security Policy](https://github.com/jessesquires/.github/blob/master/SECURITY.md)Also, consider [sponsoring this project](https://www.jessesquires.com/sponsor/) or [buying my apps](https://www.hexedbits.com)! :v:
## Credits
Created and maintained by [**@jesse_squires**](https://twitter.com/jesse_squires)
* Inspired by **[andymatuschak](https://github.com/andymatuschak) /** [gist f1e1691fa1a327468f8e](https://gist.github.com/andymatuschak/f1e1691fa1a327468f8e)
* Inspired by **[ashfurrow](https://github.com/ashfurrow) /** [UICollectionView-NSFetchedResultsController](https://github.com/ashfurrow/UICollectionView-NSFetchedResultsController)## License
`JSQDataSourcesKit` is released under an [MIT License][mitLink]. See `LICENSE` for details.
>**Copyright © 2015-present Jesse Squires.**
*Please provide attribution, it is greatly appreciated.*
[docsLink]:https://jessesquires.github.io/JSQDataSourcesKit
[podLink]:https://cocoapods.org/pods/JSQDataSourcesKit
[mitLink]:https://opensource.org/licenses/MIT