gpt4 book ai didi

ios - 如何使用拆分和映射方法?

转载 作者:行者123 更新时间:2023-11-28 11:13:52 25 4
gpt4 key购买 nike

我看到一个问题:Swift: Split a String into an array

还有一些我不明白的代码:

let fullName = "First Last"
let fullNameArr = split(fullName.characters){$0 == " "}.map{String($0)}

fullNameArr[0] // First
fullNameArr[1] // Last

split()map{} 是如何工作的?

最佳答案

您使用的语法在 Xcode7 中不起作用。正确的语法应该是

let fullNameArr = fullName.characters.split{$0 == " "}.map(String.init)

让我们把这条线分成两部分:

拆分需要

A collection of Characters representing the String's extended grapheme clusters

-- 来自 Xcode 文档

和一个接受字符并返回 Bool 的闭包——如果该字符可以被视为分隔符则为真。

如果此语法令人困惑,请尝试阅读:

  fullNameArr = fullName.characters.split({
character in
return character == " "
})

现在,split 返回一个 SubSequence 对象数组。您希望将它们转换回字符串以便能够很好地打印它们。因此,一种方法是创建一个 for 循环,遍历所有 split 的结果并将它们转换为字符串,然后附加到结果数组,或者使用执行相同操作的 ma​​p 方法。

如果您仔细观察第一行,您会在数组上执行 map 并传递一个闭包,该闭包对数组的每个元素执行某些操作并将其写回。

一个简单的例子,它是如何工作的

let exampleArray = [1, 2, 3]
print(exampleArray.map {$0 * 3})

// prints [3, 6, 9]

希望对您有所帮助!

关于ios - 如何使用拆分和映射方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33101299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com