1
我试图找出一种方法来动态地设置/获取类实例的属性。动态获取实例属性Swift 3
用户等级:
class User: NSObject {
var email: String = ""
var password: String = ""
}
我正在尝试设置/获取属性是这样的,(我知道.send()
不存在,但我试图找到类似的东西,如果有可能)
var user = User()
// Set
user.send('email') = "[email protected]"
// Get
print(user.send('email'))
使用此卡帕的希望基于非NSObject类型的可移植性? –
太棒了,完美无缺! – danielavila
@PauloMattos不,这需要objc运行时。但是,请参阅https://github.com/apple/swift-evolution/blob/master/proposals/0161-key-paths.md您几乎肯定不会将字符串传递给非Cocoa Swift(按设计;这是非常不安全的;至少在我们进行反思之前,但即使如此,情况也会非常不同)。但我们将能够间接引用属性。今天你通常会使用闭包来解决这些问题。 –