我正在研究一个从Swift 3迁移到4的项目。 我解决了除此以外的所有问题。首先,我完全不了解此代码:
let messageText = stride(from: 0, to: lineNumber, by: 1).reduce("") { "\n\($0.0)" }
减少功能在这两个版本之间已更改。所以我想将其重写为Swift 4。
答案 0 :(得分:1)
假设目的是使用数字从
0(含)到lineNumber
(不含),以换行符分隔,则应为
let messageText = stride(from: 0, to: lineNumber, by: 1).reduce("") { "\($0)\n\($1)" }
该错误消息具有误导性,真正的问题在于关闭 类型错误,必须有两个参数。
同样可以通过
实现let messageText = (0..<lineNumber).map(String.init).joined(separator: "\n")