因为我的核心数据对象与来自服务器的域对象相同,所以我使用以下代码自动设置映射:
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数组。但我不能删除/清除旧数组,因为它是只读的。有没有官方的方法来更新阵列?
答案 0 :(得分:0)
不,你通常会创建一个新的映射(通常是一个不同的响应描述符,这样你就可以在不改变对象管理器配置的情况下在它们之间切换)。
从技术上讲,您可以继承RKObjectMapping
,或为其添加类别,并修改mutablePropertyMappings
以实现目标。