ios - Swift:无法在初始化时将类型“()”的值转换为指定类型
问题描述
我有 Struct init,我正在尝试过滤 init 中的数组:
public struct doSomething: Codable {
public var listOfStuff: [String]
init(someStuff: [String]) {
var clone = someStuff
let stuff: [String] = clone.removeAll { $0 == "myName"}
listOfStuff = stuff
}
}
在这一行let stuff: [String] = clone.removeAll { $0 == "myName"}
我收到此错误:
error: cannot convert value of type '()' to specified type '[String]
你们中的任何人都知道为什么我会收到此错误,或者您是否知道解决方法?
我会非常感谢你的帮助。
解决方案
removeAll不返回值。这与返回是一回事,与返回Void
是一回事()
。
clone.removeAll { $0 == "myName" }
listOfStuff = clone
更好的是,甚至不要使用它。
init(someStuff: [String]) {
listOfStuff = someStuff.filter { $0 != "myName" }
}
推荐阅读
- python - 特定于服务器的 Discord.py 变量
- javascript - 在箭头函数 React Native 中传递两个参数
- python - 如何使用shell或python将目录中的许多文件复制到许多其他目录
- zsh - 使用星号作为变量的 zsh 参数扩展不起作用
- android - 前一个可运行对象执行完毕后如何运行可运行对象?
- python - 如何以递减方式拉伸特定的numpy数组项?
- laravel - 如何在 yajra 数据表中显示用户定义的列名
- html - 在 div 内显示部分背景图像的问题 - 页面的透明效果部分(html、css)
- python-3.x - 如何在 pygame 中读取、写入和更新您的游戏高分 from/to file.txt saved.?
- python - Python类方法继承