Skip to content

๐Ÿ˜ด JSON to Class Helper written in Objective-C

Notifications You must be signed in to change notification settings

pkh0225/JSON-to-CLASS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

58 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ JTC (Mac App)

JSON TO CLASS

JSON to Class Helper written in Objective-C file, Swift file for iOS developers.

blogimg blogimg


๋ชฉํ‘œ

ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ ์‹œ json ํŒŒ์‹ฑ ๊ณผ์ •์—์„œ ์ƒ๊ธฐ๋Š” ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ  ๋ถˆํ•„์š”ํ•œ ๋ฐ˜๋ณต ์ž‘์—…์„ ์ค„์—ฌ ํŒŒ์‹ฑ ๊ณผ์ •์„ ํšจ์œจํ™” ํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐํš๋œ ๋งฅ์šฉ์•ฑ


Core Functions

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
    }

About

๐Ÿ˜ด JSON to Class Helper written in Objective-C

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published