代码之家  ›  专栏  ›  技术社区  ›  bhartsb

调用文本的目的是什么。flatMap(URL.init)?

  •  0
  • bhartsb  · 技术社区  · 2 年前

    调用文本的目的是什么。flatMap(URL.init)位于以下位置:

    guard let url = someUITextField.text.flatMap(URL.init) else {
     return true
    }
    

    someUITextField。假定文本具有用户输入的URL字符串。

    1 回复  |  直到 2 年前
        1
  •  2
  •   vadian    2 年前

    text 是可选的,并且 URL(init) 还返回一个可选的。结果是双重可选 URL??

    flatMap 首先转换 String? URL?? 然后删除一个 ? 能够 if let 表达式。

    请阅读 What’s the difference between map(), flatMap() and compactMap()? 关于hackingwithswift的详细信息。