Skip to content

Commit 9336661

Browse files
committed
Implemented to _SwiftValue.fetch() bridging
1 parent c66a879 commit 9336661

File tree

1 file changed

+7
-38
lines changed

1 file changed

+7
-38
lines changed

Foundation/NSLocale.swift

Lines changed: 7 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -99,62 +99,31 @@ extension NSLocale {
9999
}
100100

101101
open class var availableLocaleIdentifiers: [String] {
102-
var identifiers = Array<String>()
103-
for obj in CFLocaleCopyAvailableLocaleIdentifiers()._nsObject {
104-
identifiers.append(obj as! String)
105-
}
106-
return identifiers
102+
return _SwiftValue.fetch(CFLocaleCopyAvailableLocaleIdentifiers()) as? [String] ?? []
107103
}
108104

109105
open class var isoLanguageCodes: [String] {
110-
var identifiers = Array<String>()
111-
for obj in CFLocaleCopyISOLanguageCodes()._nsObject {
112-
identifiers.append(obj as! String)
113-
}
114-
return identifiers
106+
return _SwiftValue.fetch(CFLocaleCopyISOLanguageCodes()) as? [String] ?? []
115107
}
116108

117109
open class var isoCountryCodes: [String] {
118-
var identifiers = Array<String>()
119-
for obj in CFLocaleCopyISOCountryCodes()._nsObject {
120-
identifiers.append(obj as! String)
121-
}
122-
return identifiers
110+
return _SwiftValue.fetch(CFLocaleCopyISOCountryCodes()) as? [String] ?? []
123111
}
124112

125113
open class var isoCurrencyCodes: [String] {
126-
var identifiers = Array<String>()
127-
for obj in CFLocaleCopyISOCurrencyCodes()._nsObject {
128-
identifiers.append(obj as! String)
129-
}
130-
return identifiers
114+
return _SwiftValue.fetch(CFLocaleCopyISOCurrencyCodes()) as? [String] ?? []
131115
}
132116

133117
open class var commonISOCurrencyCodes: [String] {
134-
var identifiers = Array<String>()
135-
for obj in CFLocaleCopyCommonISOCurrencyCodes()._nsObject {
136-
identifiers.append(obj as! String)
137-
}
138-
return identifiers
118+
return _SwiftValue.fetch(CFLocaleCopyCommonISOCurrencyCodes()) as? [String] ?? []
139119
}
140120

141121
open class var preferredLanguages: [String] {
142-
var identifiers = Array<String>()
143-
for obj in CFLocaleCopyPreferredLanguages()._nsObject {
144-
identifiers.append(obj as! String)
145-
}
146-
return identifiers
122+
return _SwiftValue.fetch(CFLocaleCopyPreferredLanguages()) as? [String] ?? []
147123
}
148124

149125
open class func components(fromLocaleIdentifier string: String) -> [String : String] {
150-
var comps = Dictionary<String, String>()
151-
let values = CFLocaleCreateComponentsFromLocaleIdentifier(kCFAllocatorSystemDefault, string._cfObject)._nsObject
152-
values.enumerateKeysAndObjects(options: []) { (k, v, stop) in
153-
let key = (k as! NSString)._swiftObject
154-
let value = v as! String
155-
comps[key] = value
156-
}
157-
return comps
126+
return _SwiftValue.fetch(CFLocaleCreateComponentsFromLocaleIdentifier(kCFAllocatorSystemDefault, string._cfObject)) as? [String : String] ?? [:]
158127
}
159128

160129
open class func localeIdentifier(fromComponents dict: [String : String]) -> String {

0 commit comments

Comments
 (0)