已编译的核心数据管理对象模型:从中获取最大信息及其相应的数据库
我是 Objective-C 的新手;我在书籍或互联网中找不到任何解决方案。
我的问题:在没有源代码的情况下使用已编译的.mom和SQLite db的最有效和最快的方法是什么?
详细信息: 我正在尝试将我的小应用程序连接到另一个应用程序的数据库并使用(读入)其数据的一部分。但这个任务很困难,因为该应用程序没有 SDK。
该应用程序有一个已编译的 .mom 文件和一个 SQLite 数据库。
我成功地使用 .mom 以编程方式(不使用 IB)连接到数据库,并且可以设法获取实体、将数据填充到我重新创建的对象中等。 但我每一步都在猜测、试验和错误中进行。因此,开发需要花费大量时间并且容易出错。 最难剖析的任务是通过中间表的多对多关系。
例如:实体“Books”与“Authors”有关系。由于作者的顺序很重要,因此有一个中间表“authorsNumbered”,其中包含字段:编号、作者、书籍;字段“number”决定了作者的确切顺序,因为它们应该出现在任何地方(重要!)
我终于设法使用 NSSortDescriptor 创建了一个有序的作者数组,但我花了整整一周的时间才找到并猜测如何做到这一点!
您是否会建议更有效的方法来处理已编译的 .mom 而不是我使用的方法?
谢谢
I am a novice in Objective-C; and I could not find any solution in my Books or internet.
My question: What are the most efficient and fastest ways to use already compiled .mom and SQLite db without having the source codes?
Details:
I am trying to connect my small app to the database of another application and use (read-inly) the part of its data. But the task is difficult since that app does not have SDK.
That app has a compiled .mom file and an SQLite database.
I succeeded to programmatically (not using IB) connect to the db using .mom and could manage to get the entities, fill data into the objects re-created by me etc.
But I am doing every step with guesses, trials and errors. Thus the development takes a lot of time and is error-prone.
The most difficult task to dissect is to-many relationships via intermediate tables.
For example: entity "Books" has a relationship to "Authors". Since the sequence of authors matters, there is an intermediate table "authorsNumbered" which contains fields: number, author, book; and the field "number" determines the exact order of authors as they should appear everywhere (important!)
I finally managed to create an ordered array of authors using NSSortDescriptor but it took me whole week to find and guess how to do it!
Would you suggest more efficient ways to deal with compiled .mom rather than the one used by me?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您复制
.mom
文件并将扩展名更改为.plist
,您将获得一个纯文本、人类可读的 plist 文件,您可以相对轻松地解开该文件。If you copy the
.mom
file and change the extension to.plist
you will get a plain text, human readable plist file which you can puzzle out with relative ease.创建一个空模型文件,例如Example.exdatamodeld。
选择它。
在 Xcode 编辑器中 ->导入并选择您的 mom 文件。
您可以查看该 mom 文件内的数据模型。
Create a empty model file say Example.exdatamodeld.
Select it.
In Xcode Editor -> Import and select your mom file.
You can view datamodel inside that mom file.