SwiftSortUtils alternatives and similar libraries
Based on the "Utility" category.
Alternatively, view SwiftSortUtils alternatives based on common mentions on social networks and blogs.
-
SwifterSwift
A handy collection of more than 500 native Swift extensions to boost your productivity. -
SwiftGen-Storyboard
The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs! -
SwiftGen
The Swift code generator for your assets, storyboards, Localizable.strings, … — Get rid of all String-based APIs! -
SwiftLinkPreview
It makes a preview from an URL, grabbing all the information such as title, relevant texts and images. -
Playbook
📘A library for isolated developing UI components and automatically taking snapshots of them. -
BetterSafariView
A better way to present a SFSafariViewController or start a ASWebAuthenticationSession in SwiftUI. -
SwiftPlantUML
A command-line tool and Swift Package for generating class diagrams powered by PlantUML -
Pythonic.swift
DISCONTINUED. Pythonic tool-belt for Swift – a Swift implementation of selected parts of Python standard library.
SaaSHub - Software Alternatives and Reviews
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of SwiftSortUtils or a related project?
README
SwiftSortUtils
Motivation
This library takes a shot at making sorting in Swift more pleasant. It also allows you to reuse your old NSSortDescriptor
instances in Swift.
Examples
let somePeople: [Person] = ...
// Sort by a comparable attribute
let ... = somePeople.sort(sortingBy { $0.firstname })
// Sort by multiple attributes
let ... = somePeople.sort(
sortingBy { $0.age } <|>
sortingBy { $0.lastname } <|>
sortingBy { $0.firstname }
)
// Append any comparator function
let ... = somePeople.sort(
sortingBy { $0.age } <|>
{ (p1, p2) in p1.wearsGlasses() && !p2.wearsGlasses() }
)
// Reverse compare functions
let ... = somePeople.sort(
sortingBy(.descending) { $0.age } <|>
sortingBy { $0.lastname } <|>
reverseComparator(sortingBy { $0.firstname }) // reverse any compare function
)
// Use an NSSortDescriptor
let ageSortDescriptor = NSSortDescriptor(key: "age", ascending: true)
let ... = somePeople.sort(ageSortDescriptor.toCompareFunction())
// Even Use multiple NSSortDescriptors
let nameSortDescriptors = [
NSSortDescriptor(key: "lastname", ascending: true),
NSSortDescriptor(key: "firstname", ascending: true)
]
let ... = somePeople.sort(nameSortDescriptors.toCompareFunction())
See the tests for more examples.
Usage
To run the example project, clone the repo, and run pod install
from the Example directory first.
Installation
Swift Version
This Version of SwiftSortUtils is meant to be used with Swift 3.0
For older Swift versions:
- Swift 2.3 -> Use 0.2.0
CocoaPods
SwiftSortUtils is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "SwiftSortUtils"
Manually
Download the files in Pod/Classes
and drop them into your project.
Author
Daniel Strittmatter, [email protected]
License
SwiftSortUtils is available under the MIT license. See the LICENSE file for more info.
*Note that all licence references and agreements mentioned in the SwiftSortUtils README section above
are relevant to that project's source code only.