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(按設計;這是非常不安全的;至少在我們進行反思之前,但即使如此,情況也會非常不同)。但我們將能夠間接引用屬性。今天你通常會使用閉包來解決這些問題。 –