dimanche 26 juillet 2015

Mutating property by its name

With the help of Reflection API I'm getting the properties list for my types.

func inspectedProperties(ignored: [String] = []) -> [Property] {
    var properties = [String]()

    for child in self.children() {
        guard let label = child.label else {
            continue
        }

        properties += [label]
    }

    return properties.filter { !ignored.contains($0) }
}

This function returns me the names for all properties.

Now I want to mutate a certain property just by knowing its name.

class Fruit {
    private dynamic var name = "Apple"
}

If I call Fruit().inspectedProperties() I'll get the following array ["name"].

But is it possible to mutate the variable named "name"?





Aucun commentaire:

Enregistrer un commentaire