-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStringHelper.swift
More file actions
51 lines (40 loc) · 1.25 KB
/
Copy pathStringHelper.swift
File metadata and controls
51 lines (40 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//
// StringHelper.swift
// StringHelper
//
// Created by Gabrail on 3/7/17.
// Copyright © 2017 Hidart. All rights reserved.
//
extension String {
func fromBase64() -> String? {
guard let data = Data(base64Encoded: self) else {
return nil
}
return String(data: data, encoding: .utf8)
}
func toBase64() -> String {
return Data(self.utf8).base64EncodedString()
}
func dropLast(_ n: Int = 1) -> String {
return String(characters.dropLast(n))
}
var dropLast: String {
return dropLast()
}
func toDouble() -> Double? {
return NumberFormatter().number(from: self)?.doubleValue
}
func toInt() -> Int? {
return NumberFormatter().number(from: self)?.intValue
}
func toFloat() -> Float? {
return NumberFormatter().number(from: self)?.floatValue
}
var parseJSONString: Any? {
let data = self.data(using: String.Encoding.utf8, allowLossyConversion: false)
guard let jsonData = data else { return nil }
do { return try JSONSerialization.jsonObject(with: jsonData, options: JSONSerialization.ReadingOptions.mutableContainers) }
catch { return nil }
}
}
}