Core data Coredata属性联接

Core data Coredata属性联接,core-data,cocoa-bindings,Core Data,Cocoa Bindings,嗨,我有一个核心数据实体,它有几个属性,比如displayName、serverName和portNumber 我希望服务器名和端口号可以由用户编辑。我希望使用serverName和portNumber值自动生成显示名称—类似于Server@Port 实现displayName属性的最佳方式是什么?核心数据中是否有类似触发器的东西可以自动填充此属性?您只需向托管对象子类添加一个方法,而无需将此信息再次保存到数据库中 -(NSString*)displayName { return [NSS

嗨,我有一个核心数据实体,它有几个属性,比如displayName、serverName和portNumber

我希望服务器名和端口号可以由用户编辑。我希望使用serverName和portNumber值自动生成显示名称—类似于Server@Port


实现displayName属性的最佳方式是什么?核心数据中是否有类似触发器的东西可以自动填充此属性?

您只需向托管对象子类添加一个方法,而无需将此信息再次保存到数据库中

-(NSString*)displayName {
   return [NSString stringWithFormat:@"%@ : %@", self.serverName, self.portNumber];
}

Tipp:在子类上使用一个单独的文件和一个类别。这样,在对象模型发生更改的情况下,您可以使用Xcode再次生成子类,而无需覆盖自定义代码。

由于这被标记为绑定问题,因此添加keyPathsForValuesAffectingDisplayName将使此代码适用于绑定,只要它们不尝试设置显示名称。从某种程度上说,这是@Silican所寻找的触发因素。感谢您的这一观点-现场。非常感谢Mundi和stevesilva的回复。这就是我一直需要的代码。