如何使用 KVC 设置 Core Data 对象的属性?

Ale*_*one 1 core-data objective-c kvc

我正在使用一个具有四个日期属性的核心数据实体——syncDate、historySyncDate 等。

有没有一种方法可以编写一个方法来获取这些属性之一的 NSString 名称并为其分配适当的日期?

前任:

-(void)updateDate:(NSDate*) date forAttribute:(NSString*)attribute forService:(Service*)service
{
    //based on attribute name, set service.syncDate or service.historicSyncDate, etc
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*n R 5

当然:

\n\n
[service setValue:date forKey:attribute];\n
Run Code Online (Sandbox Code Playgroud)\n\n

来自“NSManagedObject 类参考”:

\n\n
\n

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

\n\n

...
\n 如果 key 标识一对一关系,则将 value 指定的对象与接收者相关联,如果存在则取消之前相关对象的关联。\n 给定一个集合对象和一个标识 a 的 key多对多关系,将集合中包含的对象与接收者相关联,取消先前相关对象(如果有)的关联。

\n\n

NSManagedObject 会重写此方法来访问托管对象 xe2x80x99s 通用字典存储,除非接收者 xe2x80x99s 类显式为键提供符合键值编码的访问器方法。

\n
\n