对于以下代码,如何检查myArray是否存在成员“b”或“f”?
struct example {
var a: String!
var b: Bool!
var c: Bool!
var d: String!
}
var myArray = [example]!
例如,如果我检查成员“f”是否存在,我想要返回“false”或“nil”;如果我检查“b”是否存在,我希望收到“真实”。
谢谢!
答案 0 :(得分:1)
与Objective-C不同,Swift没有动态机制来做这样的事情。所以答案是不,你不能以这种方式按名称检查成员,除非你正在使用标有NSObject
属性的@objc
子类的成员。
答案 1 :(得分:0)
正如其他人所评论的那样,您的示例还存在其他问题,但是假设您知道并且只是抛出一个快速而肮脏的示例来说明您的问题,则可以执行以下操作:
if let bExists = myArray.b {
return true
} else if let fExists = myArray.f {
return false // or return nil, or whatever you want to do if `f exists.
}