【发布时间】:2021-04-20 01:00:06
【问题描述】:
我想编写与视图一起使用的实用程序,以执行诸如有条件地显示视图之类的操作,并执行诸如 intersperse 之类的操作,其中重复视图并在每次迭代之间插入某种分隔符。我不知道如何定义函数类型签名。这是我到目前为止得到的:
func ifNotLastCategory(_ cat: String, content: () -> AnyView) -> AnyView {
if (cat != movie.categories.last) { return content() }
}
...
ifNotLastCategory(category) { Text("Hello World") }
当我尝试做类似的事情时,我收到一个关于 Cannot convert value of type 'some View' to closure result type 'AnyView' 的编译器错误。但是它不会让我将content 定义为返回some View。
我怎样才能使这个功能起作用?
【问题讨论】: