Tutorial by Examples

Extensions can contain functions and computed/constant get variables. They are in the format extension ExtensionOf { //new functions and get-variables } To reference the instance of the extended object, self can be used, just as it could be used To create an extension of String that adds ...
Extensions can contain convenience initializers. For example, a failable initializer for Int that accepts a NSString: extension Int { init?(_ string: NSString) { self.init(string as String) // delegate to the existing Int.init(String) initializer } } let str1: NSString = &qu...
Extensions are used to extend the functionality of existing types in Swift. Extensions can add subscripts, functions, initializers, and computed properties. They can also make types conform to protocols. Suppose you want to be able to compute the factorial of an Int. You can add a computed property...
A very useful feature of Swift 2.2 is having the ability of extending protocols. It works pretty much like abstract classes when regarding a functionality you want to be available in all the classes that implements some protocol (without having to inherit from a base common class). protocol FooPro...
It is possible to write a method on a generic type that is more restrictive using where sentence. extension Array where Element: StringLiteralConvertible { func toUpperCase() -> [String] { var result = [String]() for value in self { result.append(String(value).upperca...
Extensions add new functionality to an existing class, structure, enumeration, or protocol type. This includes the ability to extend types for which you do not have access to the original source code. Extensions in Swift can: Add computed properties and computed type properties Define instance ...
Extensions can add new subscripts to an existing type. This example gets the character inside a String using the given index: 2.2 extension String { subscript(index: Int) -> Character { let newIndex = startIndex.advancedBy(index) return self[newIndex] } } var my...

Page 1 of 1