EZSwiftExtensions alternatives and similar libraries
Based on the "Utility" category.
Alternatively, view EZSwiftExtensions 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
DISCONTINUED. 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.
CodeRabbit: AI Code Reviews for Developers

* 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 EZSwiftExtensions or a related project?
README
EZSwiftExtensions
How Swift standard types and classes were supposed to work. A collection of useful extensions for the Swift Standard Library, Foundation, and UIKit.
Example Usage
Easily get an object at a specified index:
var myArray = ["charmander","bulbasaur","squirtle"]
print(myArray.get(1)) // "bulbasaur"
Easily access a random element:
var myArray = ["charmander","bulbasaur","squirtle"]
print(myArray.random()) // bulbasaur or something else
Easily find the indexes of an object:
var myArray = ["charmander","bulbasaur","squirtle","charmander"]
print(myArray.indexesOf("charmander")) // [0,3]
Easily check if an array contains another array:
var myArray = ["charmander","bulbasaur","squirtle"]
print(myArray.containsArray(["charmander","bulbasaur"])) // true
print(myArray.containsArray(["string"])) // false
Block Objects These objects use completion blocks instead of selectors, taken from: CEMKit-Swift Easily initialize a BlockButton:
let button = BlockButton(x: 0, y: 0, w: 100, h: 100) { (sender) -> Void in
print("Block button clicked!")
}
let button1 = BlockButton(x: 0, y: 0, w: 100, h: 100)
button1.addAction { (sender) -> Void in
print("Block button clicked!")
}
// There are also BlockWebView, BlockTap, BlockPan, BlockSwipe, BlockPinch, BlockLongPress
Easily convert between different types:
var myCGFloat = myInt.toCGFloat
var myString = myInt.toString
var myDouble = myString.toDouble
var myInt = myDouble.toInt
Easily toggle it:
var myBool: Bool = true
print(myBool.toggle()) // false
Easily initialize your objects:
let myView = UIView(x: 0, y: 0, w: 100, h: 100)
print(myView.frame) // (0.0, 0.0, 100.0, 100.0)
Easily access your ViewController on top of your view stack:
ez.topMostViewController?.presentViewController(myAlertController, animated: true, completion: nil)
// topMostViewController is your rootViewController
// Intended for showing small VCs like UIAlertControllerstring.length, string.capitalizefirst, string.trim, string.isemail,
Easily initialize your colors:
let myColor = UIColor(r: 100, g: 100, b: 100) // Default alpha is 1
Easily run block of codes after a certain delay:
Timer.runThisAfterDelay(seconds: 2) { () -> () in
print("Prints this 2 seconds later in main queue")
}
Easily run code every seconds:
var count = 0
Timer.runThisEvery(seconds: 1) { (timer) -> Void in
print("Will print every second")
if count == 3 {
timer?.invalidate()
}
count += 1
}
Easily access your projects version and build numbers:
print(ez.appVersion) // 0.3
print(ez.appBuild) // 7
print(ez.appVersionAndBuild) // v0.3(7)
Easily track screen shots:
ez.detectScreenShot { () -> () in
print("User took a screen shot")
}
Installation
Manually (~10 seconds)
- Download and drop '/Sources' in your project.
- Congratulations!
Install via CocoaPods (~10 seconds)
You can use CocoaPods to install EZSwiftExtensions
by adding it to your Podfile
:
platform :ios, '8.0'
use_frameworks!
pod 'EZSwiftExtensions' #Stable release for Swift 3.0
pod 'EZSwiftExtensions', :git => 'https://github.com/goktugyil/EZSwiftExtensions.git' #Latest release for Swift 3.0
pod 'EZSwiftExtensions', :git => 'https://github.com/goktugyil/EZSwiftExtensions.git', :branch => 'Swift2.3' #For Swift 2.3
pod 'EZSwiftExtensions', '~> 1.6' #For Swift 2.2
To get the full benefits import EZSwiftExtensions
wherever you import UIKit
import UIKit
import EZSwiftExtensions
Install via Carthage
Create a Cartfile
that lists the framework and run carthage bootstrap
. Follow the instructions to add $(SRCROOT)/Carthage/Build/iOS/EZSwiftExtensions.framework
to an iOS project.
github "goktugyil/EZSwiftExtensions"
Requirements
- Swift 2 or later
Possible features
- More extensions! Please if there is an extension you are constantly using, send a pull request now!
- Fancy pictures and jpgs in documentation.
- Documentations inside code
- List of contents inside readme
- Completing
TODO
s in source code. - OSX compatibility and add here https://github.com/AndrewSB/awesome-osx
Sources Used
- ExSwift by pNre
- SKTUtils by raywenderlich
- CEMKit-Swift by cemolcay
- SwiftySwift by adeca
- Geometry by artman
- Swift-Extensions by vitkuzmenko
- SwiftTweetGettr by jmenter
- Basics by dennisweissmann
- toNumber by Mamesoft
- RBResizer by hcatlin
And countless gists and stackoverflow answers.
License
EZSwiftExtensions is available under the MIT license. See the LICENSE file.
Keywords
swift, extension, uikit, exswift, foundation, library, framework, tool
*Note that all licence references and agreements mentioned in the EZSwiftExtensions README section above
are relevant to that project's source code only.