Useful Swift Extension

Shashank Thakur
1 min readJul 9, 2018

After working with Swift for some time I found there are lot of things that aren’t there out of the box as with other languages. Following are some extensions that I think are useful for day to day working

Accessing string element by index

extension String {
subscript(i:Int) ->Character {
let index = self.index(self.startIndex, offsetBy: i)
return self[index]
}
}

Unicode Value for Character

extension Character {
var unicodeValue: Int {
get {
let s = String(self).unicodeScalars
return Int(s[s.startIndex].value)
}
}
}

Character from Int Value

extension Int {   var character:Character?{       get {           let u = UnicodeScalar(self)           if(u != nil) {return Character(u!)}           return nil       }
}
}

String Subscript with range (start & end)

extension String {    subscript (start:Int,end:Int) ->String {
assert(start < end,"Start can't be bigger than end")
let startIndex = self.index(self.startIndex, offsetBy: start) let endIndex = self.index(self.startIndex, offsetBy: end) return String(self[startIndex..<endIndex]) }}

These are some extension I felt like are useful, if you came across a necessary extension I would love to hear/learn about it in comments.

--

--