gpt4 book ai didi

swiftui - 无法使用SwiftUI推断复杂的闭包返回类型

转载 作者:行者123 更新时间:2023-12-04 07:50:20 25 4
gpt4 key购买 nike

在Apple的SwiftUI教程Handling User Input的第3部分中,出现以下错误:

Unable to infer complex closure return type; add explicit type to disambiguate



我正在使用与本教程相同的代码(即使从“完成”示例代码中解决也无法解决该错误)。

有人知道这里出了什么问题吗?

enter image description here
struct LandmarkRow: View {
var landmark: Landmark

var body: some View {
HStack {
landmark.image(forSize: 50)
Text(verbatim: landmark.name)
Spacer()

if landmark.isFavorite {
Image(systemName: "star.fill")
.imageScale(.medium)
}
}
}
}

无论问题的起因是什么,您实际上如何添加显式类型来消除歧义?在这种情况下,返回类型是什么?

-

更新

显然,您不应继续第3篇的第2篇教程的结果。教程之间的某些变化未在教程中进行记录。我已将项目文件添加到Github,以便可以 check out the diff

最好重新下载 3rd tutorial的Project文件以重新开始第3个教程。

最佳答案

问题不在于闭包,而在于地标上的isFavorite属性。

它没有在Landmark类型上声明,并且编译器没有显示未声明的属性错误,无法解析堆栈构建闭包返回类型,因此它在那里显示和错误。

出色的Apple教程编写者,甚至是一个更好的Xcode11编译器。

要修复:

  • 声明isFavorite类型的Landmark变量。
  • 确保使用landmarkData.json条目更新每个地标记录的isFavorite = false,否则应用程序将在运行时崩溃。
  • 关于swiftui - 无法使用SwiftUI推断复杂的闭包返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56450789/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com