RestKit Mapeo de una matriz de cadenas sin routes de keys

Tengo un problema al mapear una matriz JSON de cadenas sin routes de key utilizando RestKit 0.20.3. Mis classs se basan en el ejemplo en el wiki de RestKit.

JSON:

"feature_list":{ "property":["test","test ","test","test"], "street":["test1","foo","bar"], "garden":["foo","bar"], "other":["foo","bar", "test2"] } 

Clases:

 @interface FeatureList : NSManagedObject @property(nonatomic, strong) NSSet *property; @property(nonatomic, strong) NSSet *street; @property(nonatomic, strong) NSSet *garden; @property(nonatomic, strong) NSSet *other; @end @interface Feature : NSManagedObject @property(nonatomic, strong) NSString *featureType; @end 

Configuración de asignación:

 + (RKMapping *)featureListMapping { RKObjectMapping *mapping = [RKEntityMapping mappingForEntityForName:@"FeatureList" inManagedObjectStore:objectStore]; [mapping addRelationshipMappingWithSourceKeyPath:@"property" mapping:[self featureMapping]]; [mapping addRelationshipMappingWithSourceKeyPath:@"street" mapping:[self featureMapping]]; [mapping addRelationshipMappingWithSourceKeyPath:@"garden" mapping:[self featureMapping]]; [mapping addRelationshipMappingWithSourceKeyPath:@"other" mapping:[self featureMapping]]; } + (RKMapping *)featureMapping { RKObjectMapping *mapping = [RKEntityMapping mappingForEntityForName:@"Feature" inManagedObjectStore:objectStore]; [mapping addPropertyMapping:[RKAttributeMapping attributeMappingFromKeyPath:nil toKeyPath:@"featureType"]]; return mapping; } 

Al depurar el object feature.featureType en Xcode, se devuelve un object RKMappingSourceObject con el valor almacenado en una propiedad de object, al que no puedo acceder. Al imprimir feature.featureType.class, se imprime NSCFString.

 for (Feature * feature in featureList.property) { //feature.featureType is a RKMappingSourceObject in the debugger NSString *featureStr = feature.featureType.class; //prints NSCFString } 

Salida de logging:

 Mapped attribute value from keyPath '(null)' to 'featureType'. Value: test ({ HTTP = { request = { URL = "http://localhost:3000/api/v1/test"; headers = { }; method = GET; }; response = { URL = "http://localhost:3000/api/v1/test"; headers = { "Cache-Control" = "max-age=0, private, must-revalidate"; "Content-Type" = "application/json; charset=utf-8"; Etag = "\"193d0f470155872e5b36e9f7586c0c8f\""; "Proxy-Connection" = Close; Server = "thin 1.5.0 codename Knife"; "X-Request-Id" = 0e4de78e656ef2165699385695cdfe75; "X-Runtime" = "0.092788"; "X-UA-Compatible" = "IE=Edge"; }; }; }; mapping = { collectionIndex = 1; rootKeyPath = response; }; }) 

Cualquier sugerencia sería apreciada, gracias.

Básicamente, puede usar cualquier método en el object proxy devuelto que no sea la description . Eso significa no suministrarlo como una variable a NSLog .

Los objects verdaderos se almacenarán en el almacén de datos. Dependiendo de lo que necesite hacer, puede ir y recuperarlos directamente (al search o usar la ID del object gestionado).

No sé sobre RestKit, pero parece que las 4 llamadas a featureMapping están insertando cada una una RKAttributeMapping nueva, que no parece tener ningún sentido. Tal vez esta sea la razón por la que tiene un problema con su propiedad featureType .