!= nil 语句中的 Swift 选项[重复]
Posted
技术标签:
【中文标题】!= nil 语句中的 Swift 选项[重复]【英文标题】:Swift optionals inside of != nil statement [duplicate] 【发布时间】: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 块中可用。很不错!
非常感谢关于使用带有可选绑定的防护的提示
【参考方案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]
【讨论】:
以上是关于!= nil 语句中的 Swift 选项[重复]的主要内容,如果未能解决你的问题,请参考以下文章