我有一个struct
喜欢,
struct LoginConstants {
struct Selectors {
let testa = "test1234"
}
}
和类一样,
class Login: XCTestCase {
override class func setUp () {
// below constant will have a value like "LoginConstants"
let localConstants = "\(String(describing: self))Constants"
}
}
...所以这里我在localConstants
中有一个结构名称作为字符串格式。
我的问题是如何从LoginConstants
字符串访问localConstants
属性?
注意:
我知道我可以直接访问LoginConstants()
。
但是我打算创建一个父类,我可以动态地访问这个***Constants
结构。
感谢您的帮助!
答案 0 :(得分:0)
Objective-C有能力做到这一点,但Swift没有。如果通过@objc
属性为类提供Objective-C名称,则可以使用Objective-C运行时函数按名称访问它。但是,结构不可能实现这一点。
反正可能不是最好的方式。更好的解决方案是重新考虑您要执行的操作,并直接访问结构类型而不是名称。