swift - 在接受闭包的视图中使用闭包与方法
问题描述
我一直在使用 SwiftLint 并遇到了这里multiple_closures_with_trailing_closure
定义的多个错误。
我遇到的最大问题是我Button
会在哪里切换一些布尔值,例如
Button(action: {self.startTimer.toggle()}) {
...trailing closure
}
当我关闭一个方法的短手闭包时
func toggleTimer() { self.startTimer.toggle() }
掉毛错误消失了。我仍然不确定关于“不止一个关闭论点”部分的投诉是什么。
当传递多个闭包参数时,不应使用尾随闭包语法。
在这个特定示例中,这种 linting 错误是什么意思?
解决方案
Button 需要两个闭包,一个用于“动作”,一个用于“标签”。SwiftLint 不希望你去掉位于两个闭包之间的标签。它期待这个:
Button(action: {self.startTimer.toggle()}, label: {
...trailing closure
})
您的代码完全有效,只是没有按照 SwiftLint 的规范进行格式化。
推荐阅读
- javascript - 警告:失败的道具类型:道具“日期”在“日历提供者”中标记为必需,但其值为“未定义”
- typescript - 实现`IGeneratable`的类必须提供`IGeneratorConstructor
`其中`T`是实现`IGeneratable`的类 - curl - curl:重定向 302:不将方法从 POST 更改为 GET
- arrays - 我们如何在 Rust 中操作 u8 数组的第一位?
- c# - 使用 VS 的 2 个不同端口运行 Swagger UI
- java - Hashicorp Nomad 上的 Quarkus
- php - 更新数据库中的图像给出空行
- java - JsonMappingException 上的 Spring Boot 测试给出了低于标准的堆栈跟踪
- excel - 如何在 VBA 中找到列地址(只有字母)并用变量表示列函数?
- sql - 使用 Sqlalchaemy 在 api 烧瓶中删除 casace