【发布时间】:2015-12-18 10:58:20
【问题描述】:
我想知道是否有一种方法可以关闭/避免 xcode 中的 if let...NSUserDefaults 构造中的“黄色”警告,其中密钥具有已知值。
例如:
if let x = NSUserDefaults.standardUserDefaults().integerForKey("myKey") as? Int {...}
由于if let,我必须使用as?。但是,由于我使用的是已知值类型(在本例中为整数),as? Int 实际上是多余的 - 这就是我收到“黄色警告”的原因。
想法?有没有更好的方法来编码这些类型的结构?
【问题讨论】:
-
与其删除警告,不如删除错误...如果您不需要条件转换,请不要使用它。 :)
-
试过了。我收到一个实际错误:“条件绑定的初始化程序必须具有可选类型而不是 Int”。你是说:不要使用 'if let' 只使用 'let',因为我知道类型?
-
是的,我是说不要将
if let ... as? ...与.integerForKey一起使用,如果我没记错的话,它不会返回一个 Optional (如果该值不存在则返回 0)和不需要类型转换。 -
酷。别客气。我的cmets给出了正确的答案。
标签: swift2 nsuserdefaults