gpt4 book ai didi

ios - 我的核心数据实体在哪里?

转载 作者:可可西里 更新时间:2023-11-01 04:32:03 25 4
gpt4 key购买 nike

我有一个已添加核心数据模型的现有项目。我添加了 Core Data 框架,添加了一个带有实体的数据模型,并将其与一些生成的 NSManagedObject 类一起包含在我的应用程序的目标中。它编译得很好,现在我想为我创建的实体添加一些测试。正在关注these instructions ,我已经使用 setUp 方法设置了一个逻辑测试基类,如下所示:

- (void)setUp {
model = [NSManagedObjectModel mergedModelFromBundles:nil];
NSLog(@"model: %@", model);
coord = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:model];
store = [coord addPersistentStoreWithType:NSInMemoryStoreType
configuration:nil
URL:nil
options:nil
error:NULL];
ctx = [[NSManagedObjectContext alloc] init];
[ctx setPersistentStoreCoordinator:coord];
}

这会编译并创建所有对象。但是,该模型没有实体! NSLog() 输出如下所示:

2011-10-29 23:56:58.941 otest[42682:3b03] model: (<NSManagedObjectModel: 0x19c6780>) isEditable 1, entities {
}, fetch request templates {
}

那么我的实体在哪里?我查看了 bundle ,也没有 .momd 文件。我是否错过了构建模型的一些关键步骤?

最佳答案

我做了一些额外的 Duck Duck Go并设法在 this answer 中找到我需要的信息.结果是,因为测试目标不使用“主”包,所以我必须实例化测试包。所以代替这一行:

    model = [NSManagedObjectModel mergedModelFromBundles:nil];

我现在有这三行:

    NSBundle *bundle = [NSBundle bundleWithIdentifier:@"com.example.LogicTests"];
NSURL *url = [bundle URLForResource:@"MyModels" withExtension:@"momd"];
model = [[NSManagedObjectModel alloc] initWithContentsOfURL:url];

包标识符直接来 self 的目标构建信息,而“MyModels”来 self 的数据模型文件,该文件名为“MyModels.xcdatamodeld”并作为“MyModels.momd”包含在应用程序包中。当然,其中包含我的模型。

关于ios - 我的核心数据实体在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7943709/

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