首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mogenerator与setPrimitiveType

Mogenerator与setPrimitiveType
EN

Stack Overflow用户
提问于 2012-06-20 14:38:51
回答 2查看 546关注 0票数 2

我有大约六张桌子来自一个遗留的web服务器。这些表都有一个"type“列。我需要将这些列名保持在应用程序级别上的同步。

使用mogenerator,它创建的基类将尽职尽责地生成一个setPrimitiveType属性。苹果不喜欢这种方法,拒绝了我们的应用程序。

是否有可能改变模型生成器,而不创建模型属性的某些方法?

EN

回答 2

Stack Overflow用户

发布于 2013-05-28 18:15:53

是的,这是有可能微调什么发动机创造。这是通过更新机器文件模板中的条目来完成的。例如,下面的行可以从machine.h模板文件中注释掉。

代码语言:javascript
复制
- (void)setPrimitive<$Attribute.name.initialCapitalString$>:(<$Attribute.objectAttributeType$>)value;

代码语言:javascript
复制
- (void)setPrimitive<$Attribute.name.initialCapitalString$>Value:(<$Attribute.scalarAttributeType$>)value_;

前者是常规的访问者。后者是标量访问器,如果需要,甚至可以重命名它。

但是,请注意,正如Apple 核心数据编程指南所指出的那样,核心数据框架而不是MO生成器正在生成基本访问器

例如,给定一个具有属性firstName的实体,核心数据会自动生成firstName、setFirstName:、primitiveFirstName和setPrimitiveFirstName:。即使对于由NSManagedObject表示的实体,核心数据也是这样做的。要在调用这些方法时抑制编译器警告,应该使用Object-C2.0声明的属性特性,如“声明”中所述。

票数 1
EN

Stack Overflow用户

发布于 2016-01-04 14:37:05

我对“type”关键字也有同样的问题。我的解决方案是手动创建和实现方法,如

代码语言:javascript
复制
- (NSNumber *)primitiveType;
- (void)setPrimitiveType:(NSNumber *)value_;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11121981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档