CocoaPods trunk is moving to be read-only. Read more on the blog, there are 14 months to go.
| TestsTested | ✓ |
| LangLanguage | SwiftSwift |
| License | BSD |
| ReleasedLast Release | Dec 2014 |
| SPMSupports SPM | ✗ |
Maintained by pNre.
Set of Swift extensions for standard types and classes.
Examples in the Wiki
| Name | Signature |
|---|---|
first |
first () -> Element? |
last |
last () -> Element? |
get |
get (index: Int) -> Element? |
remove |
remove <U: Equatable> (element: U) |
at |
at (indexes: Int...) -> Array |
take |
take (n: Int) -> Array |
takeWhile |
takeWhile (condition: (Element) -> Bool) -> Array |
takeFirst |
takeFirst (condition: (Element) -> Bool) -> Element |
tail |
tail (n: Int) -> Array |
skip |
skip (n: Int) -> Array |
skipWhile |
skipWhile (condition: (Element) -> Bool) -> Array |
contains |
contains <T: Equatable> (item: T...) -> Bool |
difference |
difference <T: Equatable> (values: [T]...) -> [T] |
intersection |
intersection <U: Equatable> (values: [U]...) -> Array |
union |
union <U: Equatable> (values: [U]...) -> Array |
unique |
unique <T: Equatable> () -> [T] |
indexOf |
indexOf <T: Equatable> (item: T) -> Int? |
indexOf |
indexOf (condition: Element -> Bool) -> Int? |
lastIndexOf |
lastIndexOf <T: Equatable> (item: T) -> Int? |
zip |
zip (arrays: Array<Any>...) -> [[Any?]] |
partition |
partition (var n: Int, var step: Int? = nil) -> [Array]partition (var n: Int, var step: Int? = nil, pad: Element[]?) -> [Array]
|
partitionAll |
partitionAll (var n: Int, var step: Int? = nil) -> [Array] |
partitionBy |
partitionBy <T: Equatable> (cond: (Element) -> T) -> [Array] |
shuffle |
shuffle () |
shuffled |
shuffled () -> Array |
sample (random)
|
sample (size n: Int = 1) -> [T] |
max |
max <T: Comparable> () -> T |
min |
min <T: Comparable> () -> T |
each |
each (call: (Element) -> ())each (call: (Int, Element) -> ())
|
eachRight |
eachRight (call: (Element) -> ())eachRight (call: (Int, Element) -> ())
|
any |
any (call: (Element) -> Bool) -> Bool |
all |
all (call: (Element) -> Bool) -> Bool |
reject |
reject (exclude: (Element -> Bool)) -> Array |
pop |
pop() -> Element |
push |
push(newElement: Element) |
shift |
shift() -> Element |
unshift |
unshift(newElement: Element) |
insert |
insert (newArray: Array, atIndex: Int) |
groupBy |
groupBy <U> (groupingFunction group: (Element) -> (U)) -> [U: Array] |
countBy |
countBy <U> (groupingFunction group: (Element) -> (U)) -> [U: Int] |
countWhere |
countWhere (test: (Element) -> Bool) -> Int |
reduce |
reduce (combine: (Element, Element) -> Element) -> Element? |
reduceRight |
reduceRight <U>(initial: U, combine: (U, Element) -> U) -> U |
mapFilter |
mapFilter <V> (mapFunction map: (Element) -> (V)?) -> [V] |
implode |
implode <C: ExtensibleCollection> (separator: C) -> C? |
flatten |
flatten <OutType> () -> [OutType] |
flattenAny |
flattenAny () -> [AnyObject] |
sortBy |
sortBy (isOrderedBefore: (T, T) -> Bool) -> [T] |
toDictionary |
toDictionary <U> (keySelector:(Element) -> U) -> [U: Element] |
| Name | Signatures |
|---|---|
range |
range <U: ForwardIndex> (range: Range<U>) -> Array<U> |
| Name | Signature | Function |
|---|---|---|
- |
- <T: Equatable> (first: Array<T>, second: Array<T>) -> Array<T> |
Difference |
- |
- <T: Equatable> (first: Array<T>, second: T) -> Array<T> |
Element removal |
& |
& <T: Equatable> (first: Array<T>, second: Array<T>) -> Array<T> |
Intersection |
| |
| (first: Array, second: Array) -> Array |
Union |
* Int |
* <ItemType> (array: ItemType[], n: Int) -> [ItemType] |
Returns a new array built by concatenating int copies of self |
* String |
* (array: String[], separator: String) -> String |
Equivalent to array.implode(String)
|
[x..y][x...y]
|
subscript(range: Range<Int>) -> Array |
Returns the sub-array from index x to index y |
[x, y, ...] |
subscript(first: Int, second: Int, rest: Int...) -> Array |
Returns the items at x, y |
Examples in the Wiki
| Name | Signatures |
|---|---|
times |
times <T> (call: (Int) -> T)times <T> (call: () -> T)times (call: () -> ())
|
isEven |
isEven () -> Bool |
isOdd |
idOdd () -> Bool |
upTo |
upTo (limit: Int, call: (Int) -> ()) |
downTo |
downTo (limit: Int, call: (Int) -> ()) |
clamp |
clamp (range: Range<Int>) -> Intclamp (min: Int, max: Int) -> Int
|
isIn |
isIn (range: Range<Int>, strict: Bool = false) -> Bool |
digits |
digits () -> Array<Int> |
abs |
abs () -> Int |
gcd |
gcd (n: Int) -> Int |
lcm |
lcm (n: Int) -> Int |
| Name | Signatures |
|---|---|
random |
random(min: Int = 0, max: Int) -> Int |
Examples in the Wiki
| Name | Signature |
|---|---|
abs |
abs () -> Float |
sqrt |
sqrt () -> Float |
round |
round () -> Float |
ceil |
ceil () -> Float |
floor |
floor () -> Float |
| Name | Signatures |
|---|---|
random |
random(min: Float = 0, max: Float) -> Float |
Examples in the Wiki
| Name |
|---|
length |
capitalized |
| Name | Signature |
|---|---|
explode |
explode (separator: Character) -> [String] |
at |
at (indexes: Int...) -> [String] |
matches |
matches (pattern: String, ignoreCase: Bool = false) -> [NSTextCheckingResult]? |
insert |
insert (index: Int, _ string: String) -> String |
ltrimmed |
ltrimmed () -> String |
rtrimmed |
rtrimmed () -> String |
trimmed |
trimmed () -> String |
| Name | Signature |
|---|---|
random |
func random (var length len: Int = 0, charset: String = "...") -> String |
| Name | Signature |
|---|---|
[x] |
subscript(index: Int) -> String? |
[x..y][x...y]
|
subscript(range: Range<Int>) -> String |
[x, y, z] |
subscript (indexes: Int...) -> [String] |
S * n |
* (first: String, second: Int) -> String |
=~ |
=~ (string: String, pattern: String) -> Bool=~ (string: String, options: (pattern: String, ignoreCase: Bool)) -> Bool=~ (strings: [String], pattern: String) -> Bool=~ (strings: [String], options: (pattern: String, ignoreCase: Bool)) -> Bool
|
|~ |
|~ (string: String, pattern: String) -> Bool|~ (string: String, options: (pattern: String, ignoreCase: Bool)) -> Bool
|
Examples in the Wiki
| Name | Signatures |
|---|---|
times |
times (call: (T) -> ())times (call: () -> ())
|
each |
each (call: (T) -> ()) |
| Name | Signature |
|---|---|
random |
random (from: Int, to: Int) -> Range<Int> |
| Name | Signature | Function |
|---|---|---|
= |
== <U: ForwardIndex> (first: Range<U>, second: Range<U>) -> Bool |
Compares 2 ranges |
Examples in the Wiki
| Name | Signatures |
|---|---|
difference |
difference <V: Equatable> (dictionaries: [Key: V]...) -> [Key: V] |
union |
union (dictionaries: [Key: Value]...) -> [Key: Value] |
intersection |
intersection <K, V where K: Equatable, V: Equatable> (dictionaries: [K: V]...) -> [K: V] |
has |
has (key: Key) -> Bool |
map |
map <K, V> (mapFunction map: (Key, Value) -> (K, V)) -> [K: V] |
mapFilter |
mapFilter <K, V> (mapFunction map: (Key, Value) -> (K, V)?) -> [K: V] |
mapValues |
mapValues <V> (mapFunction map: (Key, Value) -> (V)) -> [Key: V] |
mapFilterValues |
mapFilterValues <V> (mapFunction map: (Key, Value) -> V?) -> [Key: V] |
each |
each(eachFunction each: (Key, Value) -> ()) |
filter |
filter(testFunction test: (Key, Value) -> Bool) -> [Key: Value] |
merge |
merge (dictionaries: [Key: Value]...) -> [Key: Value] |
shift |
shift () -> (Key, Value) |
groupBy |
groupBy <T> (groupingFunction group: (Key, Value) -> (T)) -> [T: Array<Value>] |
countBy |
countBy <T> (groupingFunction group: (Key, Value) -> (T)) -> [T: Int] |
countWhere |
countWhere (test: (Key, Value) -> (Bool)) -> Int |
any |
any (test: (Key, Value) -> (Bool)) -> Bool |
all |
all (test: (Key, Value) -> (Bool)) -> Bool |
reduce |
reduce <U> (initial: U, combine: (U, Element) -> U) -> U |
pick, at |
pick (keys: [Key]) -> Dictionarypick (keys: Key...) -> Dictionaryat (keys: Key...) -> Dictionary
|
| Name | Signature | Function |
|---|---|---|
- |
- <K, V: Equatable> (first: Dictionary<K, V>, second: Dictionary<K, V>) -> Dictionary<K, V> |
Difference |
& |
& <K, V: Equatable> (first: Dictionary<K, V>, second: Dictionary<K, V>) -> Dictionary<K, V> |
Intersection |
| |
| (first: Dictionary, second: Dictionary) -> Dictionary |
Union |
Examples in the Wiki
| Name | Signatures |
|---|---|
cast |
cast <OutType> () -> [OutType] |
flatten |
flatten <OutType> () -> [OutType] |
flattenAny |
flattenAny () -> [AnyObject] |
The following operations can be performed on sequences and are evaluated lazily. Each operation only takes the data it requires from the source sequence in order to return its result.
The Sequence protocol cannot be extended, hence the following are extensions to SequenceOf. They can be used as follows:
var source: Sequence = ...
var filteredSequence = SequenceOf(source).filter { ... }
| Name | Signatures |
|---|---|
first |
first () -> T? |
any |
any (call: (T) -> Bool) -> Bool |
get |
get (index: Int) -> T? |
get |
get (range: Range<Int>) -> SequenceOf<T> |
indexOf |
indexOf <U: Equatable> (item: U) -> Int? |
filter |
filter(include: (T) -> Bool) -> SequenceOf<T> |
reject |
reject (exclude: (T -> Bool)) -> SequenceOf<T> |
skipWhile |
skipWhile(condition:(T) -> Bool) -> SequenceOf<T> |
skip |
skip (n:Int) -> SequenceOf<T> |
contains |
contains<T:Equatable> (item: T) -> Bool |
take |
take (n:Int) -> SequenceOf<T> |
takeWhile |
takeWhile (condition:(T?) -> Bool) -> SequenceOf<T> |
Examples in the Wiki
| Name | Signature |
|---|---|
abs |
abs () -> Double |
sqrt |
sqrt () -> Double |
round |
round () -> Double |
ceil |
ceil () -> Double |
floor |
floor () -> Double |
| Name | Signatures |
|---|---|
random |
random(min: Double = 0, max: Double) -> Double |
Examples in the Wiki
| Name | Signatures |
|---|---|
after |
after <P, T> (n: Int, function: P -> T) -> (P -> T?)func after <T> (n: Int, function: () -> T) -> (() -> T?)
|
once |
once <P, T> (function: P -> T) -> (P -> T?)once <T> (call: Void -> T) -> (Void -> T?)
|
partial |
partial <P, T> (function: (P...) -> T, _ parameters: P...) -> ((P...) -> T?) |
bind |
bind <P, T> (function: (P...) -> T, _ parameters: P...) -> (() -> T) |
cached |
cached <P, R> (function: (P...) -> R) -> ((P...) -> R)cached <P, R> (function: (P...) -> R, hash: ((P...) -> P)) -> ((P...) -> R)
|