gpt4 book ai didi

swiftui - 属性定义已推断类型 'some View',涉及另一个声明的 'some'返回类型

转载 作者:行者123 更新时间:2023-12-03 15:49:13 25 4
gpt4 key购买 nike

当我更新到xcode 13 beta 4时,它不起作用。

显示错误:

Property definition has inferred type 'some View', involving the 'some' return type of another declaration



struct RatingToStar : View {
var rating: Int
let star = Image(systemName: "star").foregroundColor(.yellow)
let fillStar = Image(systemName: "star.fill").foregroundColor(.yellow)

var body: some View {
HStack {
if rating >= 1 {fillStar}else{star}
if rating >= 2 {fillStar}else{star}
if rating >= 3 {fillStar}else{star}
if rating >= 4 {fillStar}else{star}
if rating >= 5 {fillStar}else{star}
}
}
}

最佳答案

在beta 4中, View 修饰符的返回类型已清理,并设置为some View。发行说明是这样说的:

View modifier methods return opaque views (some View) rather than complex generic types. (46140669)



这就是导致行为改变的原因。目前,由于我对错误消息并不完全有把握,因此我无法为您提供完整的解释,但我可以为您提供一个简单的解决方法:

struct RatingToSta : View {
var rating: Int

let star = AnyView(Image(systemName: "star").foregroundColor(.yellow))
let fillStar = AnyView(Image(systemName: "star.fill").foregroundColor(.yellow))

var body: some View {
HStack {
if rating >= 1 { fillStar } else{ star }
if rating >= 2 { fillStar } else{ star }
if rating >= 3 { fillStar } else{ star }
if rating >= 4 { fillStar } else{ star }
if rating >= 5 { fillStar } else{ star }
}
}
}

如果我发现更多信息,请确保返回并更新我的答案。

关于swiftui - 属性定义已推断类型 'some View',涉及另一个声明的 'some'返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57134610/

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