List中有ForEach的SwiftUI错误:无法使用参数类型为((@escaping()...)的参数列表来调用类型“ List”的初始化程序(请参见代码)

时间:2019-10-29 09:53:57

标签: core-data swiftui swiftui-list

我试图在一个列表中有一个简单的ForEach(并且已经在另一个项目中做到了),但是在这个项目中,我遇到了以下提到的错误?我该如何解决?

错误

无法为类型为'(@escaping()-> ForEach,Int64,Text>)'的参数列表的类型为'List'的初始化程序

代码

import SwiftUI

struct ContentView: View {
    @FetchRequest(fetchRequest: GCList.allListFetchRequest()) var gcLists: FetchedResults<GCList>

    var body : some View {
        NavigationView {
            List {     // <=== ERROR IS MARKED HERE IN XCODE
                ForEach(self.gcLists) { gcList in
                    Text(gcList.title)
                }
            }
        }
    }

}

extension GCList : Identifiable {
    @nonobjc public class func fetchRequest() -> NSFetchRequest<GCList> {
        return NSFetchRequest<GCList>(entityName: "GCList")
    }
    @NSManaged public var id: Int64
    @NSManaged public var title: String
}

extension GCList {
    static func allListFetchRequest() -> NSFetchRequest<GCList> {
        let request: NSFetchRequest<GCList> = GCList.fetchRequest()
        request.sortDescriptors = [NSSortDescriptor(key: "id", ascending: true)]
        return request
    }
}

1 个答案:

答案 0 :(得分:0)

在核心数据中发现,我有一个创建的旧实体,名为“列表”,可以完成很多工作。...