Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/14.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 3迁移到swift 4_Swift - Fatal编程技术网

从swift 3迁移到swift 4

从swift 3迁移到swift 4,swift,Swift,我正在做一个从Swift 3迁移到Swift 4的项目。 除了这个问题,我解决了所有的问题。首先,我不理解这个代码: let messageText = stride(from: 0, to: lineNumber, by: 1).reduce("") { "\n\($0.0)" } 这两个版本之间的Reduce函数已更改。因此,我想将其重新写入Swift 4。假设其目的是创建一个包含来自 0(包括)到行号(排除),由换行符分隔,则应为 let messageText = stride(fro

我正在做一个从Swift 3迁移到Swift 4的项目。 除了这个问题,我解决了所有的问题。首先,我不理解这个代码:

let messageText = stride(from: 0, to: lineNumber, by: 1).reduce("") { "\n\($0.0)" }

这两个版本之间的Reduce函数已更改。因此,我想将其重新写入Swift 4。

假设其目的是创建一个包含来自 0(包括)到
行号
(排除),由换行符分隔,则应为

let messageText = stride(from: 0, to: lineNumber, by: 1).reduce("") { "\($0)\n\($1)" }
错误消息具有误导性,真正的问题是关闭 具有错误的类型,它必须包含两个参数

同样的道理也可以通过

let messageText = (0..<lineNumber).map(String.init).joined(separator: "\n")

让messageText=(0..谢谢Martin,The“(0..@Clem166:好吧,我假设
行号
是一个整数–然后代码工作:我在发布答案之前测试了它。如果你真的需要它作为CGFloat,那么第一个版本应该仍然工作。或者使用第二个版本与
(0..工作!谢谢;)