返回对象属性的函数

安德鲁

我想更改对象的参数,但是稍后我想决定应更改的参数。我正在考虑为此做一个功能,但不知道如何做。这是一个示例:

class Car {
    var color = "green"
    var brand = "Zastava"
    var mechanic = "Mark Gaia"
}

struct Change {
    var property: String
    var newValue: String
}

let car = Car()
let change = Change(property: "brand", newValue: "Fiat")
car.propertyFromChange(change) = change.newValue  // ??? How to implement this line

如何使函数返回需要更改的对象的参数是什么?
或者,如何选择要更改的参数?
(...我考虑过switch陈述。这是一个好的方向吗?)

我敢肯定,这已经在互联网上讨论过了。我已经阅读了有关函数的所有内容,但找不到解决方案,所以我想我在使用错误的关键字进行搜索。

马里乌斯·范努(Marius Fanu)

您无需创建从继承后就可以使用KVC的函数,也可以创建一个新的函子来NSObject再次保护错误的属性名。

class Car: NSObject {
    var color = "green"
    var brand = "Zastava"
    var mechanic = "Mark Gaia"
}

struct Change {
    var property: String
    var newValue: String
}

let car = Car()
let change = Change(property: "brand", newValue: "Fiat")
car.setValue(change.newValue, forKey: change.property)

请记住,如果输入错误的属性名称,此代码将崩溃。

希望这能回答您的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章