我想更改对象的参数,但是稍后我想决定应更改的参数。我正在考虑为此做一个功能,但不知道如何做。这是一个示例:
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
陈述。这是一个好的方向吗?)
我敢肯定,这已经在互联网上讨论过了。我已经阅读了有关函数的所有内容,但找不到解决方案,所以我想我在使用错误的关键字进行搜索。
您无需创建从继承后就可以使用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] 删除。
我来说两句