Objective c 如何使用KVC设置核心数据对象的属性?

Objective c 如何使用KVC设置核心数据对象的属性?,objective-c,core-data,kvc,Objective C,Core Data,Kvc,我正在使用一个核心数据实体,它有四个日期属性——syncDate、historicSyncDate等 是否有一种方法可以编写一个方法,该方法可以接受这些属性之一的NSString名称并为其指定正确的日期 例: 当然可以: 从NSManagedObject类参考中: setValue:forKey: 将接收器的指定属性设置为 指定的值 。。。 如果键标识 对于一个关系,将值指定的对象与 接收器,如果存在先前相关的对象,则将其解列。 给定一个集合对象和一个标识多个集合的键 关系,将集合中包含的对象与

我正在使用一个核心数据实体,它有四个日期属性——syncDate、historicSyncDate等

是否有一种方法可以编写一个方法,该方法可以接受这些属性之一的NSString名称并为其指定正确的日期

例:

当然可以:

从NSManagedObject类参考中:

setValue:forKey: 将接收器的指定属性设置为 指定的值

。。。 如果键标识 对于一个关系,将值指定的对象与 接收器,如果存在先前相关的对象,则将其解列。 给定一个集合对象和一个标识多个集合的键 关系,将集合中包含的对象与 接收器,如果存在以前相关的对象,则取消关联

NSManagedObject将重写此方法以访问托管对象 对象的通用字典存储,除非接收方的类 显式提供符合键值编码的访问器方法 钥匙


你应该能够做到

-(void)updateDate:(NSDate*) date forAttribute:(NSString*)attribute forService:(Service*)service
{
    [service setValue:date forKey:attribute];
}
假设服务是NSManagedObject的子类

[service setValue:date forKey:attribute];
-(void)updateDate:(NSDate*) date forAttribute:(NSString*)attribute forService:(Service*)service
{
    [service setValue:date forKey:attribute];
}