Sometimes you need order
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Example
SwiftSortedList
.gitignore
.travis.yml
LICENSE
README.md
SwiftSortedList.podspec
_Pods.xcodeproj
circle.yml

README.md

SwiftSortedList

Version License Platform

Usage

All you need is a Comparable object:

import SwiftSortedList

struct MyObj : Comparable {
    var id: Int
}

func ==(x: MyObj, y: MyObj) -> Bool {
    return x.id == y.id
}
func <(x: MyObj, y: MyObj) -> Bool {
    return x.id < y.id
}

Then you can use the SortedList:

// create a new sorted list

var sl = SortedList<MyObj>()


// add an object

let mo = MyObj(id: 1)
sl.addElement(mo)


// get an object

let mo2 = sl.getAt(0)
let mo2s = sl[0]
print(mo2 == mo2s)


// helpers functions

let size: Int = sl.count
let elements: [MyObj] = sl.array


// remove an object

sl.removeElement(mo)


// replace an object
let mo3 = MyObj(id: 3)
sl.replace(at: 0, with: mo3)
print(mo2 == sl[0]) // false
print(mo3 == sl[0]) // true

// loop

for el in sl.array {
    // do something with el
}

Installation

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

pod "SwiftSortedList"

Author

Alessandro Miliucci

License

SwiftSortedList is available under the MIT license. See the LICENSE file for more info.