JSON to Class Helper written in Objective-C file, Swift file for iOS developers.
ํด๋ผ์ด์ธํธ ๊ฐ๋ฐ ์ json ํ์ฑ ๊ณผ์ ์์ ์๊ธฐ๋ ์ค์๋ฅผ ๋ฐฉ์งํ๊ณ ๋ถํ์ํ ๋ฐ๋ณต ์์ ์ ์ค์ฌ ํ์ฑ ๊ณผ์ ์ ํจ์จํ ํ๊ธฐ ์ํด ๊ธฐํ๋ ๋งฅ์ฉ์ฑ
func makeSetSerializeParserSwift() -> String {
var str = ""
for propertyModelData in propertyList {
guard let value = propertyModelData.value else { continue }
let key = propertyModelData.key
let subClassName = "\(perfix)\(key.capitalizedFirst())"
let arraySubClassName = "\(perfix)\(key.capitalizedFirst())\(ARRAY_INNER_CLASS_TAIL_PIX)"
if numberType(value) is Int {
str += "\n if let data = dic[\"\(key)\"] as? Int { self.\(key) = data }"
}
else if numberType(value) is CGFloat {
str += "\n if let data = dic[\"\(key)\"] as? CGFloat { self.\(key) = data }"
}
else if numberType(value) is Bool {
str += "\n if let data = dic[\"\(key)\"] as? Bool { self.\(key) = data }"
}
else if value is String {
str += "\n if let data = dic[\"\(key)\"] as? String { self.\(key) = data }"
}
else if let array = value as? [Any], array.count > 0 {
if array.first is [String : Any] {
str += """
if let data = dic[\"\(key)\"] as? [[String: Any]] { self.\(key) = data.compactMap{ \(arraySubClassName)($0) } }
"""
}
else if array.first is String {
str += "\n if let data = dic[\"\(key)\"] as? [String] { self.\(key) = data }"
}
else {
str += "\n if let data = dic[\"\(key)\"] as? [Any] { self.\(key) = data }"
}
}
else if value is [String : Any] {
str += "\n if let data = dic[\"\(key)\"] as? [String: Any] { self.\(key) = \(subClassName)(data) }"
} else {
str += "\n self.\(key) = \(String(describing: value)); //type error \(String(describing: value))"
}
}
return str
}