如何更新RKObjectMapping的attributeMappings

时间:2014-04-09 12:50:53

标签: core-data restkit

因为我的核心数据对象与来自服务器的域对象相同,所以我使用以下代码自动设置映射:

RKObjectMapping *mapping = [RKEntityMapping mappingForEntityForName:entityClassName inManagedObjectStore:managedObjectStore];

// Get the list of attributes
NSEntityDescription* entityInfo = [NSEntityDescription entityForName:entityClassName inManagedObjectContext:managedObjectContext];

[mapping addAttributeMappingsFromArray:[[entityInfo attributesByName] allKeys]];

稍后,因为有一个特定的属性我需要更新mapping.attributeMappings数组。但我不能删除/清除旧数组,因为它是只读的。有没有官方的方法来更新阵列?

1 个答案:

答案 0 :(得分:0)

不,你通常会创建一个新的映射(通常是一个不同的响应描述符,这样你就可以在不改变对象管理器配置的情况下在它们之间切换)。

从技术上讲,您可以继承RKObjectMapping,或为其添加类别,并修改mutablePropertyMappings以实现目标。