diff --git a/SwiftMetaModelGenerator/templates/meta_model.stencil b/SwiftMetaModelGenerator/templates/meta_model.stencil index 347277d16fa2bacc6b5e363dc9612b070ef3eff6..8830de7de34c381f277d2ff5ecc2fd7d6e75c255 100644 --- a/SwiftMetaModelGenerator/templates/meta_model.stencil +++ b/SwiftMetaModelGenerator/templates/meta_model.stencil @@ -30,6 +30,20 @@ extension {{class.name}} fatalError("Cannot set value for key \(key)") } } + + @objc {% if class.needsMethodOverride %} override {% endif %} func getValueByKey(key: String) -> Any? + { + switch key { + {% for variable in class.variables %} + {% if not variable.constant and not variable.privateVisibility and not variable.staticModifier and not variable.hasAccessor %} + case "{{variable.name}}": + return self.{{ variable.name }} + {% endif %} + {% endfor %} + default: + fatalError("Cannot set value for key \(key)") + } + } } {% endfor %}