Useful Swift Extension
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.