【问题标题】:Swift optionals inside of != nil statement [duplicate]!= nil 语句中的 Swift 选项[重复]
【发布时间】:2017-06-15 17:35:38
【问题描述】:

您是否经常使用 Swift 开发者!= nil?以下是针对可选系统的反模式吗?

var myStringArray: [String]?

if myStringArray != nil {
   textField.text = myStringArray?[0]
   // some other code related to the array being there
}

风格感觉不对。有人知道我可以在这里学习一种模式来改善我的风格吗?

【问题讨论】:

  • 我更喜欢使用 if let 来检查选项上的 nil。另一方面,这个问题似乎可以作为主要基于意见的问题结束。
  • 也可以使用guard let
  • 一些阅读:medium.com/@mimicatcodes/…gaurd let 使您的未包装选项可在整个代码块中使用,而不是像 if let 那样仅在 if 块中可用。很不错!
  • 非常感谢关于使用带有可选绑定的防护的提示

标签: swift


【解决方案1】:

这就是可选绑定的用途。

if let myStringArray = myStringArray {
    textField.text = myStringArray[0] // use non-nil variable
}

另外,请使用myStringArray.first 而不是myStringArray[0]。否则,如果数组为空,您的代码将崩溃。或者您可以添加一个计数检查:

if let myStringArray = myStringArray, myStringArray.count > 0 {
    textField.text = myStringArray[0]
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    相关资源
    最近更新 更多