English 中文(简体)
加入国家安全局 专栏
原标题:Adding ivar to an NSManagedObject subclass

我有一个使用核心数据基的NSManagedObject级子。 然而,我有一个临时的“现场”(ivar),我想在该类别中增加(但我无意在数据库中坚持这一说法)。 要求使用非正式和正式议定书,但两者都给我一种“可统计的”行为。 (如可类变,而不是可变)。 任何建议?

我第一次尝试建立了“Dummy-阶级”试验,该试验本应是国家扫盲委员会的一个分支,然后我建立了试验类别。

@interface Test (custom)
   NSString *_string  ;
  - (void)setString:(NSString *)newString;  
  - (NSString *)string;
@end

这些是老板的。 这就是我使用 试验<>/em>类别的方法。

Test *a = [[Test alloc] init];  
Test *b = [[Test alloc] init];  
[a setString:@"Test1"];  
NSLog(@"%@", [a string]);         //This will print out Test1

[b setString:@"Test2"];          
NSLog(@"%@", [b string]);         //This will print out Test2         
NSLog(@"%@", [a string]);         //Unfortunately, this will also print out Test2

我还可以直接向NSManagedObject子级(即我的实体)说几句话,但我想这是这样做的方法。

最佳回答

您可以在(在)正式议定书或这一类中添加一个实例变量。

类别内的任何变数定义均作为类别外的文档水平的一种变数定义处理,因此与类别变量一样。 这是一种令人困惑的行为;我猜测汇编者应当对此发出警告。

标准解决办法是,在代表实体直接的子类别中添加具有瞬间数据(在数据库中并不持续)的单体,例如:

@interface MyEntity:NSManagedObject{
       NSString*stringHoldingTransientSomething;
}
      ...
@end

并注明<代码>MyEntity为核心数据编辑的类别。 请注意,核心数据does not在您的习俗中自动节省第(4)条。 目标子类别;它只节省核心数据模型中指明的特性。 因此,你可以像你在习俗分流中想要的那样增加许多簿记。

问题回答

暂无回答




相关问题
Code sign Error

I have created a new iPhone application.I have two mach machines. I have created the certificate for running application in iPhone in one mac. Can I use the other mac for running the application in ...

ABPersonViewController Usage for displaying contact

Created a View based Project and added a contact to the AddressBook using ABAddressBookRef,ABRecordRef now i wanted to display the added contact ABPersonViewController is the method but how to use in ...

将音频Clips从Peter改为服务器

我不禁要问,那里是否有任何实例表明从Peit向服务器发送音响。 I m不关心电话或SIP风格的解决办法,只是一个简单的袖珍流程......

• 如何将搜查线重新定位?

我正试图把图像放在搜索条左边。 但是,问题始于这里,搜索条线不能重新布署。

热门标签