Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
202 views
in Technique[技术] by (71.8m points)

json - How to write own model mapper in Swift Language

I have a requirement for mapping values coming from service layer to the UI key values. Let's say two values are coming from the service layer in array of dictionary

{
    ["identifier": "1", "fullname": "Bob Steve"]
}

I have to modify the key in my side identifier to become id & fullname to become name. How to write a model mapper to do so. Can anyone guide me how to write a model mapper.

There are lot of third party model mapper available, but I want to write my own.

Thanks in advance.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You could do it something like this:

class Mapper {
    // Singel object
    func person(obj: [String: Any]) -> Person {
        guard let identifier = obj["identifier"] as? String, let fullname = obj["fullname"] as? String else { return ...}

        let person = Person(identifier: identifier, fullname: fullname)
        return person
    }

    // Dictionary
    func persons(dictionary: [[String: Any]]) -> [Person] {
        for obj in dictionary {
            let person = person(obj)
            persons.append(person);
        }
        return persons
    }
}

Assuming you have a Person class for instance.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...