Array diffs as collection view wants it - now in Swift ✨

Overview

bad ux good ux

Doppelganger-Swift

Version License Platform Build Status Carthage compatible

Inspired by Doppelganger written in Swift

Features

  • Removes confusion from users when data changes
  • Animates moving, inserting and deleting rows/items
  • Example
  • Working with sections

Changelog

Installation

Doppelganger-Swift is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "Doppelganger-Swift"

Doppelganger-Swift is available through Carthage. To install it, simply add the following line to your Cartfile:

github "nahive/Doppelganger-Swift"

Using

let oldDataSource = dataSource
dataSource = newDataSource
let diffs = NIArrayDiffUtility.diffForCurrentArray(dataSource, previousArray: oldDataSource)
    
tableView.ni_applyBatchChangesForRows(diffs!, inSection: 0, withRowAnimation: .Right)

Contributing

If you found a bug, open an issue.

If you have a feature request, open an issue.

If you want to contribute, submit a pull request.

License

The source code is dedicated to the public domain. See the LICENCE.md file for more information.

You might also like...
Collection of Swift-extensions to boost development process.
Collection of Swift-extensions to boost development process.

SwiftBoost Collection of Swift-extensions to boost development process. Community Installation Ready to use on iOS 13+, tvOS 13+, watchOS 6.0+. Swift

Swift package containing collection protocols.
Swift package containing collection protocols.

swift-collection-protocols A package containing collection protocols, for the Swift programming language. Overview No overview available. Availability

A collection of useful result builders for Swift and Foundation value types

Swift Builders A collection of useful result builders for Swift and Foundation value types. Motivation Arrays, dictionaries, and other collection-base

A collection of Swift Package Manager plugins.

KipplePlugins A collection of Swift Package Manager plugins. ⚠️ The code in this library has been made public as-is for the purposes of education, dis

BFKit is a collection of useful classes and categories to develop Apps faster.

Swift Version • What does it do • Language support • Requirements • Communication • Contributing • Installing and Usage • Documentation • Changelog •

Unboxing - An extension for KeyedDecodingContainer class to decode a collection of heterogeneous types.

Unboxing An extension for KeyedDecodingContainer class to decode a collection of heterogeneous types. Usage Start by creating an enum that has variant

A collection of common tools and commands used throughout the development process, customized for Kipple projects.

KippleTools A collection of common tools and commands used throughout the development process, customized for Kipple projects. ⚠️ The code in this lib

UIViewController extension to present view / view controller as bottom-half modal.
UIViewController extension to present view / view controller as bottom-half modal.

UIViewController extension to present view / view controller as bottom-half modal. Installation CocoaPods pod 'SemiModalViewController' Swift Package

Swift-HorizontalPickerView - Customizable horizontal picker view component written in Swift for UIKit/iOS

Horizontal Picker View Customizable horizontal picker view component written in

Comments
  • Can't build

    Can't build

    Not sure if this is xcode 8 related. But can't seem to get this to build.

    I'm importing library into my class: import Doppelganger_Swift

    However I can't install when referencing NIArrayDiffUtility. image

    bug 
    opened by markst 3
Owner
Szymon Maślanka
minimalistic, pixel-perfect design implemented with simple, creative programming.
Szymon Maślanka
Taking a string containing a csv file and split it into records (aka lines) containing fields of data (aka Array of SubStrings)

Swift .csv parser Taking a string containing a csv file and split it into records (aka lines) containing fields of data (aka Array of SubStrings). Par

Matthias 0 Dec 29, 2021
BFKit-Swift is a collection of useful classes, structs and extensions to develop Apps faster.

Features • Classes and Extensions Compatibility • Requirements • Communication • Contributing • Installing and Usage • Documentation • Changelog • Exa

Fabrizio Brancati 992 Dec 2, 2022
💻 A fast and flexible O(n) difference algorithm framework for Swift collection.

A fast and flexible O(n) difference algorithm framework for Swift collection. The algorithm is optimized based on the Paul Heckel's algorithm. Made wi

Ryo Aoyama 3.3k Jan 4, 2023
A handy collection of more than 500 native Swift extensions to boost your productivity.

SwifterSwift is a collection of over 500 native Swift extensions, with handy methods, syntactic sugar, and performance improvements for wide range of

SwifterSwift 12k Jan 7, 2023
A Swift package for rapid development using a collection of micro utility extensions for Standard Library, Foundation, and other native frameworks.

ZamzamKit ZamzamKit is a Swift package for rapid development using a collection of micro utility extensions for Standard Library, Foundation, and othe

Zamzam Inc. 261 Dec 15, 2022
SharkUtils is a collection of Swift extensions, handy methods and syntactical sugar that we use within our iOS projects at Gymshark.

SharkUtils is a collection of Swift extensions, handy methods and syntactical sugar that we use within our iOS projects at Gymshark.

Gymshark 1 Jul 6, 2021
A handy collection of Swift method and Tools to build project faster and more efficient.

SwifterKnife is a collection of Swift extension method and some tools that often use in develop project, with them you might build project faster and

李阳 4 Dec 29, 2022
A Swift collection of unique, ordered objects

Introduction OrderedSet is essentially the Swift equivalent of Foundation's NSOrderedSet/NSMutableOrderedSet. It was created so Swift would have a uni

Weebly 248 Sep 14, 2022
Collection of native Swift extensions to boost your development. Support tvOS and watchOS.

SparrowKit Collection of native Swift extensions to boost your development. Support iOS, tvOS and watchOS. If you like the project, don't forget to pu

Ivan Vorobei 119 Dec 20, 2022
A Collection of useful Swift property wrappers to make coding easier

Swift Property Wrappers A Collection of useful Swift property wrappers to make c

Gordan Glavaš 2 Jan 28, 2022