零值我有一个操场文件下面的代码:检查斯威夫特字典扩展
extension Dictionary {
func test() {
for key in self.keys {
self[key]
}
}
}
var dict: [String: AnyObject?] = [
"test": nil
]
dict.test()
我从此将参考线for-each循环中的输出,因为它是何等的重要。在这个特定的例子中,输出是nil
。
当我改变for-each循环看起来像这样:
for key in self.keys {
print(self[key])
}
输出为"Optional(nil)\n"
。
我真正想要做的是检查零值,但代码:
for key in self.keys {
self[key] == nil
}
输出false
。我试图
的另一件事是以下几点:
for key in self.keys {
self[key] as! AnyObject? == nil
}
产生错误:
Could not cast value of type 'Swift.Optional<Swift.AnyObject>' to 'Swift.AnyObject'
任何帮助,非常感谢!
这是塑造了一个很好的问题,但你可以请你回去说(1)你在做什么和(2)什么是实际发生的事情? – matt
下面是一个演示如何检查字典中的“双选项”的示例:http://stackoverflow.com/questions/27225232/two-or-more-optionals-in-swift,以及如何区分“值密钥不存在“和”密钥存在且为零“。 –