首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在VStack中使用list时,获取“表达式的类型不明确”

在VStack中使用list时,获取“表达式的类型不明确”
EN

Stack Overflow用户
提问于 2021-05-06 18:01:52
回答 1查看 60关注 0票数 0

因此,我在VStack中使用列表视图时,遇到了一个问题:“如果没有更多的上下文,表达式的类型是不明确的”。当我开始通过Firestore而不仅仅是硬编码的值填充数据时,这个问题就开始出现了。我简化了我的代码,以显示我如何使用下面的列表的结构。

代码语言:javascript
运行
复制
import SwiftUI
import FirebaseAuth
import FirebaseFirestore

struct MainView: View {
    
    @State private var radius = 300
    private var name = "Name"
    @ObservedObject private var viewModel = TaskViewModel()
    
    let db = Firestore.firestore()
    
    init() { UITableView.appearance().backgroundColor = .clear
        UITableView.appearance().isScrollEnabled = false
    }
    
    var body: some View {
        
        return NavigationView(content: {
            
            VStack {
                Spacer()
                    .frame(height: 150)
                
                List(viewModel.task) { item in
                    VStack(alignment: .leading) {
                        Image(systemName: item.completedIcon)
                        Text(item.title).font(Font.custom("Permanent Marker", size: 18))
                    }
                }.navigationBarTitle("Tasks")
                .onAppear() {
                    self.viewModel.fetchData()
                }
                .frame(width: 318, height: 404, alignment: .center)
                .shadow(radius: 7)
                .cornerRadius(25.0)
                .listRowBackground(Color.white)

            }
            
        })
        
    }
}

任何帮助都将不胜感激

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-06 18:07:55

问题就在这里

代码语言:javascript
运行
复制
List(viewModel.taks)

确保您的自定义模型符合

代码语言:javascript
运行
复制
struct Task:Identifiable {

或添加id属性

代码语言:javascript
运行
复制
List(viewModel.taks, id: \.id) { item in
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67415916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档