如果我有两个CoreData实体:
假设我在实体A的实现中定义了这个方法。
- (NSString*) myHello;
.m
-(NSString*) myHello
{
return @"Hi, I'm custom hello message...";
}
在B实体实现中,我可以覆盖此方法:
.m
-(NSString*) myHello
{
NSString *parentMessage = [super myHello];
return [NSString stringWithFormat:@"%@ - %@"], parentMessage, @" SubHello";
}
这可能吗?很好?特别是它如何对建设者起作用?
如果我想在我的实体B中重新定义构造函数,我可以使用self = [super ....]吗?
答案 0 :(得分:0)
是的,这完全没问题。另一件事就是在每个实体上创建类别。这样,当您从核心数据重新生成这些实体时,您将不会失去所有自定义工作。
A + CustomMessage.m:
-(NSString*) myHello
{
return @"Hi, I'm custom hello message...";
}
B + CustomMessage.m:
-(NSString*) myHello
{
NSString *parentMessage = [super myHello];
return [NSString stringWithFormat:@"%@ - %@"], parentMessage, @" SubHello";
}
然后你通常会导入任何地方" A.h"和" B.h"只需导入" A + CustomMessage.h"和" B + CustomMessage.h"