2015-03-13 71 views
0

我該如何使用RestKit來映射它?我想盡可能地概括這一點,因爲每個鍵代表停車場的名稱,如果有任何停車場被添加,我不需要更改代碼。雖然按鍵迭代RestKit iOS

{ 
    Arco Do Cego: 
     { 
      address: "Parque do Arco Cego, Avenida João Crisóstomo, 1000-178 Lisboa", 
      campus: "Alameda", 
      description: "Parque Estacionamento do Arco do Cego", 
      freeSlots: 68, 
      latlng: "38.73640895,-9.14313902", 
      name: "Arco do Cego", 
      total: 70, 
      workingHours: "24h" 
     } 
} 

,我想是這樣的:

import Foundation 
import CoreData 

@objc(ParkingSpots) 
class ParkingSpots: NSManagedObject { 

    @NSManaged var id: String 
    @NSManaged var parks: NSSet 

} 

@objc(Park) 
class Park: NSManagedObject { 

    @NSManaged var address: String 
    @NSManaged var campus: String 
    @NSManaged var desc: String 
    @NSManaged var freeSlots: NSNumber 
    @NSManaged var latlng: String 
    @NSManaged var name: String 
    @NSManaged var total: NSNumber 
    @NSManaged var workingHours: String 
    @NSManaged var parkingSpot: ParkingSpots 
} 

在Java中我會:

for (Map.Entry<String, JsonElement> entry : jObj.entrySet()) { 
    String name = entry.getKey(); 
    Parking parking = gson.fromJson(entry.getValue(), Parking.class); 
    parking.setName(name); 
} 

謝謝。我正在使用iOS8和快速

+0

下面的討論可能會有所幫助:https://stackoverflow.com/questions/44690489/how-to-add-objects-of-entity-classdtos-value-using-addattributemappings-in/44775328#44775328 – ABM 2017-06-27 09:01:16

回答

0

您需要使用addAttributeMappingFromKeyOfRepresentationToAttribute:它允許您提取該密鑰並將其用作值。因此,在這種情況下,您不會使用字典中的名稱,您可以使用該鍵來映射名稱。