Ios SwiftUI 2.0 CoreData问题与新项目-';找不到类型';项目';范围内';
[编辑]我希望苹果能修复明显的bug。解决方案是清除缓存,关闭并重新打开Xcode 我在Xcode测试版上,开始了一个新的项目,没有写一行代码,我已经得到了一个错误。我在网上找不到任何东西。也许这太新了 在新版本的Xcode中,我选择了新项目 然后勾选包含核心数据的方框 如果我不勾选这个框,我会得到通常的带有“hello world”的Xcode SwiftUI模板,但勾选核心数据框,我会从苹果那里得到更多的模板代码,而且不会碰任何东西,也不会更改任何一行代码,我会收到编译它的错误消息 错误为:“无法在范围中找到项” 非常令人沮丧,尤其是因为我的所有教程都是从经典的“AppDelegate”文件配置开始的。。而新的SwiftUI是“通用的” 我检查了文件Ios SwiftUI 2.0 CoreData问题与新项目-';找不到类型';项目';范围内';,ios,swift,core-data,swiftui,Ios,Swift,Core Data,Swiftui,[编辑]我希望苹果能修复明显的bug。解决方案是清除缓存,关闭并重新打开Xcode 我在Xcode测试版上,开始了一个新的项目,没有写一行代码,我已经得到了一个错误。我在网上找不到任何东西。也许这太新了 在新版本的Xcode中,我选择了新项目 然后勾选包含核心数据的方框 如果我不勾选这个框,我会得到通常的带有“hello world”的Xcode SwiftUI模板,但勾选核心数据框,我会从苹果那里得到更多的模板代码,而且不会碰任何东西,也不会更改任何一行代码,我会收到编译它的错误消息 错
.xcdatamodeld
,它看起来很好,有“Item”实体。为什么它不编译
所以我现在不知所措,是否有解决方案,或者这是一个bug,需要等待苹果发布修复程序。如果是这样,我不需要开始一个新的项目,直到那时
PS今天,我用CMD-ALT-SHIFT-K清理了缓存,关闭了Xcode,从模拟器中删除了应用程序,重新打开,重建,它确实编译了。。但是模拟器里什么都没有!我们正在进步!我仍然没有更改一行代码。一切都是苹果的模板
正常的Xcode清除对我有效:
对于一个全新的项目,请按Command+B进行构建,这样就可以了。我没有发现任何其他答案对我有用,但我找到的是:
- 正在打开(ProjectName).xcdatamodel
- 向Item实体添加属性并不重要,我只是添加了“String”类型的“foo”
- Cmd-B将建立 (然后可以自由删除新属性)
static var preview: PersistenceController = {
let result = PersistenceController(inMemory: true)
let viewContext = result.container.viewContext
for _ in 0..<10 {
let newItem = Item(context: viewContext)
newItem.timestamp = Date()
}
do {
try viewContext.save()
} catch {
// Replace this implementation with code to handle the error appropriately.
// fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
let nsError = error as NSError
fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
}
return result
}()
在那之后,它应该工作得很好,希望能有所帮助。
我不知道为什么苹果一开始提供的模板不能正常工作。如果您仍然有问题,您可能忘记将
.xcdatamodel
文件添加到测试目标
我遵循了上述建议,使用了Cmd+B,效果很好。它要求我撤销并授权我当前的计算机。这是Xcode缓存。。。重新启动,重新打开,重建。我绝对讨厌CoreData。每次我尝试一下,都会发生类似的事情。已经尝试了包括DerivedData删除方法在内的所有方法。什么都不管用。我甚至无法获得苹果公司为您生成的裸体模板。来吧,苹果!是的,我今天遇到了与Xcode 12.3完全相同的问题,我只是完全关闭了Xcode,然后重新启动它,一切正常。即使有错误,我也能够进行构建,但无法在模拟器上运行项目。所以,如果你遇到一个错误,在范围内找不到实体,试着重新启动Xcode。仍然是Xcode版本12.4I中的那个恼人的错误,我希望苹果现在已经修复了它。。。第三步似乎没有必要!
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView().environment(\.managedObjectContext, PersistenceController.preview.container.viewContext)
}