SkillAgentSearch skills...

ExSwift

A set of Swift extensions for standard types and classes.

Install / Use

/learn @pNre/ExSwift
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

ExSwift

CocoaPods Carthage compatible Build Status

Set of Swift extensions for standard types and classes.

Installation

Because of Xcode errors it's not possible to integrate this project with Cocoapods or as Embedded Framework. Read more at Dev Forum

Use submodule and copy source code

  1. Add ExSwift as a submodule
  2. Open the ExSwift project folder, and drag ExSwift sub folder with source code into the file navigator of your Xcode project. Make sure you select add to target
  3. Use it
components.takeFirst() { $0.completed }

Contents

Extensions

Array

Examples in the Wiki

Instance Methods

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]<br>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) -> ())<br>each (call: (Int, Element) -> ()) eachRight|eachRight (call: (Element) -> ())<br>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] toDictionary|toDictionary <U> (keySelector:(Element) -> U) -> [U: Element] toDictionary|toDictionary <K, V> (transform: (Element) -> (key: K, value: V)?) -> [K: V] cycle|cycle (n: Int? = nil, block: (T) -> ()) bSearch|bSearch (block: (T) -> (Bool)) -> T? bSearch|bSearch (block: (T) -> (Int)) -> T? sortUsing|sortUsing<U:Comparable>(block: ((T) -> U)) -> [T] transposition|transposition (array: [[T]]) -> [[T]] permutation|permutation (length: Int) -> [[T]] repeatedPermutation|repeatedPermutation(length: Int) -> [[T]] combination|combination (length: Int) -> [[Element]] repeatedCombination |repeatedCombination (length: Int) -> [[Element]]

Class Methods

Name | Signatures ---- | ---------- range|range <U: ForwardIndex> (range: Range<U>) -> Array<U>

Operators

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 <code>|</code>|<code>| <T: Equatable> (first: Array<T>, second: Array<T>) -> Array<T></code>|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) [rangeAsArray: x..y]<br>[rangeAsArray: x...y]|subscript(#rangeAsArray: 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

Int

Examples in the Wiki

Properties

Name | ---- | NSTimeIntervalyears| NSTimeIntervalyear| NSTimeIntervaldays| NSTimeIntervalday| NSTimeIntervalhours| NSTimeIntervalhour| NSTimeIntervalminutes| NSTimeIntervalminute| NSTimeIntervalseconds| NSTimeIntervalsecond|

Instance Methods

Name | Signatures ---- | ---------- times|times <T> (call: (Int) -> T)<br>times <T> (call: () -> T)<br>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>) -> Int<br>clamp (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

Class Methods

Name | Signatures ---- | ---------- random|random(min: Int = 0, max: Int) -> Int

Float

Examples in the Wiki

Instance Methods

Name | Signature ---- | --------- abs|abs () -> Float sqrt|sqrt () -> Float round|round () -> Float ceil|ceil () -> Float floor|floor () -> Float clamp|clamp (min: Float, _ max: Float) -> Float

Class Methods

Name | Signatures ---- | ---------- random|random(min: Float = 0, max: Float) -> Float

String

Examples in the Wiki

Properties

Name | ---- | length| capitalized|

Instance Methods

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 ltrimmed|ltrimmed (set: NSCharacterSet) -> String rtrimmed|rtrimmed () -> String rtrimmed|rtrimmed (set: NSCharacterSet) -> String trimmed|trimmed () -> String rtrimmed|rtrimmed (set: NSCharacterSet) -> String toDouble|toDouble() -> Double? toFloat|toFloat() -> Float? toUInt|toUInt() -> UInt? toBool|toBool() -> Bool? toDate|toDate(format : String? = "yyyy-MM-dd") -> NSDate? toDateTime|toDateTime(format : String? = "yyyy-MM-dd hh-mm-ss") -> NSDate?

Class Methods

Name | Signature ---- | --------- random|func random (var length len: Int = 0, charset: String = "...") -> String

Operators

Name | Signature ---- | --------- [x]|subscript(index: Int) -> String? [x..y]<br>[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<br>`=~ (string: String,

View on GitHub
GitHub Stars3.4k
CategoryDevelopment
Updated11d ago
Forks312

Languages

Swift

Security Score

80/100

Audited on Mar 16, 2026

No findings