静态库中的 MagicalRecord:如何加载数据模型?

Posted

技术标签:

【中文标题】静态库中的 MagicalRecord:如何加载数据模型?【英文标题】:MagicalRecord in a static library: how do I load the data model? 【发布时间】:2012-11-01 16:42:54 【问题描述】:

我正在尝试将 MagicalRecord 与静态库中的数据模型一起使用。 当我打电话时

[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"db.sqlite"];

在库中,它似乎没有加载数据模型。打电话给

[TheObject MR_createEntity];

会抛出异常:

could not locate an entity named 'TheObject' in this model.'

如何加载我想使用的模型? 项目布局概览:

我认为 MR 默认会尝试从主包中加载模型?

[MagicalRecord setDefaultModelNamed:@"TheModel.xcdatamodeld"];

也找不到。 如果我尝试将库的模型资源文件复制到主项目中,Xcode 就会崩溃。

【问题讨论】:

【参考方案1】:

构建静态库为数据模型生成了一个已编译的 .mom 文件。 (打开lib的Products组,右击编译好的lib,在Finder中显示) 可以将此文件添加到主项目的资源中,使其在主包中可用。

【讨论】:

对我来说,它与 [MagicalRecord setDefaultModelNamed:@"MyDataModel.momd"];

以上是关于静态库中的 MagicalRecord:如何加载数据模型?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止静态库中的所有符号加载以及为什么在链接静态库时导出相同.o文件中的其他符号进行测试

MagicalRecord 3.0 设置

使用静态库中的图像

静态库中的未定义符号链接到动态库

查看.a 静态库中的.o文件

C++ 静态库中的共享全局变量:Linux