我刚刚安装了MOgenerator 1.21,用于Xcode 3.2.5(如果相关,则在iOS项目中).
我可以从终端运行mogenerator命令.但我似乎无法让xmod工作.
mdfind 报告xmod是:
/Developer/Library/Xcode/Plug-ins/Xmod.pbplugin
Run Code Online (Sandbox Code Playgroud)
所以看起来它安装正确.我也退出并重启了Xcode.
如文档所述(包含在一个令我困惑的非常相似的问题中),我在我的xcdatamodel信息页面的评论窗格中添加了"xmod",如下图所示:
这个窗口的评论是"xmod"http://emberapp.com/jdmuys/images/untitled/sizes/m.png
现在,无论我是构建我的项目,修改我的xcdatamodel还是两者,都没有新的事情发生:没有生成文件,也没有添加到我的项目中,我的构建日志中没有新的输出.
那么我该如何"推出"xmod?xmod应该让我知道它跑了吗?我应该在哪里看?它应该出现在新的构建阶段吗?
我很困惑,我不知道该尝试什么.
谢谢.
在我的应用程序中,我使用Core Data的东西来实现持久数据保存.由于我已经看到mogenerator提供了一种创建和维护NSManagedObject子类的好方法(也有其他功能),我正在寻找一些在Xcode 4中集成单一生成器的技巧?
PS这个问题已经基于分享您的知识,Q&A风格提交.
我试图让RestKit和CoreData一起工作.我越来越近,但我收到以下错误:
CoreData: error: Failed to call designated initializer on NSManagedObject class 'Book'
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason:
'[<Book 0x8454560> valueForUndefinedKey:]: the entity (null) is not key value coding-compliant for the key "title".'
Run Code Online (Sandbox Code Playgroud)
在我看来,它成功地找到了我的Book类,并且它有一个title属性.我究竟做错了什么?
Books.xcdatamodel
Book
title: String
Run Code Online (Sandbox Code Playgroud)
我有一个url at localhost:3000/books/initial返回以下(JSON)
[{title:"one"}, {title:"two"}]
Run Code Online (Sandbox Code Playgroud)
我正在使用mogenerator来创建我的课程.我没有添加任何内容Book,但_Book显然已定义title属性.
最后,这是我用来加载请求的代码.
RKObjectManager* objectManager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:@"http://localhost:3000/"]];
RKManagedObjectStore* objectStore = [[RKManagedObjectStore alloc] initWithManagedObjectModel:self.model];
objectManager.managedObjectStore = objectStore;
// Mappings
RKEntityMapping *bookMapping = [RKEntityMapping mappingForEntityForName:@"Book" inManagedObjectStore:objectStore];
[bookMapping addAttributeMappingsFromArray:@[@"title"]];
RKResponseDescriptor * …Run Code Online (Sandbox Code Playgroud) 我正在计划一种方法来保存iOS(swift)应用程序的数据.通过阅读一堆关于iOS上的持久性的文章,似乎Core Data是一种非常受支持的方式.围绕它构建了一堆库/工具,一个流行的组合似乎是MoGenerator + MagicalRecord + Core Data.
由于MagicalRecord提供某种Active Record功能,似乎可能"容易"意外破坏事物.我被告知可能会发生用户必须重新安装他们的应用程序以从此类故障中恢复.
所以问题:使用普通的核心数据而不是MoGenerator + MagicalRecord +核心数据是否可行?或者这是如此低级别,它只会使大型团队使用原始核心数据?可以将优点/缺点与普通SQL与ORM的优缺点进行比较吗?
我最近从外部开发人员继承了一个CoreData项目.在我希望找到所有自动生成的NSManagedObject子类的地方,我改为使用Mogenerator生成的类(谷歌显示的是什么),这是我没有经验的工具.
我知道使用这个工具的目的是使它能够将自定义代码添加到与CoreData实体相对应的类中,而不必担心在模型更改和类重新生成时丢失它...但我可以做无论如何,通过使用类别.
我目前看不到使用Mogenerator而不是类别的真正优势.
使用Mogenerator与类别有什么优缺点?Mogenerator是否可用于其他目的?
我试图使用Mogenerator与Xcode 5,但它只生成一组ManagedObject类(.h和.m)文件而不是两组(机器和人)文件.我已经尝试了很多教程但到目前为止没用.如果有人能提供一步一步的指导,使用Mogenerator与Xcode 5将是非常有帮助的.
我按照以下链接中提到的程序进行操作. http://adoptioncurve.net/archives/2012/12/setting-up-mogenerator-in-xcode-4-dot-5/
这些是我遵循的步骤,
只重新创建了两个NSManagedObject子类(.h和.m)的文件.
如果我错过了这个过程中的任何步骤,请告诉我.
我正在尝试将Mogenerator集成到我的Xcode 5项目中.我正在使用RestKit和Core Data,但我的数据库结构有相对频繁变化的趋势,而且我发现很难在没有Mogenerator之类的情况下跟上这些变化.
我已经按照本教程中的步骤进行了操作,但是当我构建Mogenerator目标时,没有任何反应.Log Navigator告诉我'生成了0个机器文件和0个人文件'.我在我的Core Data模型中创建了两个实体,Organization并且Sport在哪里Organization与'to-many'关系Sport.
在我的Mogenerator目标的"运行脚本"部分中,我/usr/local/bin在"Shell"文本框中,因为当我/bin/sh在"Shell"文本框中时,我无法使Build成功.我正在运行这个脚本:
mogenerator -m Recreation2/Recreation2.xcdatamodeld -O Recreation2/Model --template-var arc=true
Run Code Online (Sandbox Code Playgroud)
where Recreation2表示我的项目名称和核心数据模型的名称.
为什么没有创建?如果我到达创建某个东西的位置,它将在何处创建?
我的命令行(构建阶段)是MoGen
mogenerator -m PT1/Data/DataModel.xcdatamodeld -O PT1/Data -–template-var arc=true
Run Code Online (Sandbox Code Playgroud)
这应该适用于ARC.但是在机器类中,我得到了类似的东西
extern const struct ClientInfoAttributes {
NSString *accountNumber;
...
} ClientInfoAttributes;
Run Code Online (Sandbox Code Playgroud)
这给出了错误"ARC禁止struct中的Objective-C对象".据推测,我在这里犯了一些错误.任何人都可以指出我的问题吗?
我正在使用iOS7和XCode 5测试版,但这似乎与此无关.但它可能是相关的.
-Bob
mogenerator ×8
core-data ×7
ios ×4
objective-c ×3
restkit ×2
xcode ×2
xcode5 ×2
swift ×1
xcode4 ×1