Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 有没有更“联合”的方法来做到这一点?_Swift - Fatal编程技术网

Swift 有没有更“联合”的方法来做到这一点?

Swift 有没有更“联合”的方法来做到这一点?,swift,Swift,在我正在创建的API中有一个.map命令,我很确定可以用更好的方式完成它 代码是: .map { var myTags = [Tag]() for name in $0 { myTags.append(Tag(name: name)) } return myTags } 我可以在不创建临时变量的情况下执行此操作吗 谢谢 这与联合收割机无关,这是简单的Swift代码。 不过,您可以用一个map调用来替换它 .map { names in r

在我正在创建的API中有一个.map命令,我很确定可以用更好的方式完成它

代码是:

.map {
    var myTags = [Tag]()
    for name in $0 {
        myTags.append(Tag(name: name))
    }
    return myTags
}
我可以在不创建临时变量的情况下执行此操作吗


谢谢

这与联合收割机无关,这是简单的Swift代码。 不过,您可以用一个map调用来替换它

.map { names in
    return names.map { Tag(name: $0) }
}

甚至更短:

.map { $0.map(Tag.init) }

这与联合收割机无关,这是简单的Swift代码。 不过,您可以用一个map调用来替换它

.map { names in
    return names.map { Tag(name: $0) }
}

甚至更短:

.map { $0.map(Tag.init) }

为什么$0中有一个名称?map对象是数组吗?它位于签名为:func tags->AnyPublisher的函数内{因此,是的,它是标记对象的数组。为什么$0中有for名称?map对象是数组吗?它位于签名为:func tags->AnyPublisher的函数内{所以,是的,它是一个标记对象数组。呃,DUH!谢谢你,额外的一组眼睛总是有用的!实际上可以更短:.map{$0.map{Tagname:$0}}已经有一个函数,所以你不需要创建新的闭包:.map{$0.mapTag.init}或.map{$0.map Tag.initname:}啊,废话!谢谢你,额外的一组眼睛总是有帮助的!实际上可以更短:.map{$0.map{Tagname:$0}}已经有一个函数,所以你不需要创建新的闭包:.map{$0.mapTag.init}或.map{$0.map Tag.initname:}