2016-03-24 27 views
0

JSON yanıtımda tercihler verilerini doldurmak için dinamik alt öğelerim var, her tercihte "çocuklar" var ve birden fazla nesneyi olabilir (iç içe geçmiş, ayrıntılara girme). Bu verileri Core verilerine kaydetmem ve oradan yüklemem gerekiyor. Ayrıca kullanıcı yoldan bir tane seçtiğinde kullanıcı seçimini kaydetmem gerekiyor.Dinamik olarak oluşturulmuş JSON verilerini ana verilerdeki ana -> çocuk ilişkileri ile kaydedilsin mi?

  1. Bütün bu verileri kaydetmek için varlık modelinde varlık ilişkisini uygulamanın en iyi yolu nedir?

  2. Bu tür bir senaryo için iyi bir JSON biçimi mi?

EX: Cep -> samsung - Bu veri formatını kullanarak

preferences =  [ 
     {  
      id = 1; 
      name = Mobiles; 
      children = 
      [ 
       { 
        id = 3; 
        name = Samsung; 
        children = []; 
       }, 
       { 
        id = 4; 
        name = Nokia; 
        children = []; 
       } 
      ] 
     }, 
     { 
      id = 2; 
      name = Electronics; 
      children = [ 
       { 
        id = 5; 
        name = Samsung Curve TV; 
        children = []; 
       } 
      ] 
    } 
    ] 

cevap

2

reklam 2. çağırmayı bir veya yığın kullanmak gerekecektir> s3 (kullanıcı tıklama zaman bu daha da gidebilir) tek bir varlık elde etmek.

Biraz farklı bir yaklaşım öneririm.

[ 
    { 
    "id": 1, 
    "name": "Mobiles" 
    }, 
    { 
    "id": 2, 
    "name": "Electronics", 
    "parent_id": 1 
    }, 
    { 
    "id": 3, 
    "name": "Samsung" 
    "parent_id": 1 
    }, 
    { 
    "id": 4, 
    "name": "Nokia" 
    }, 
    { 
    "id": 5, 
    "name": "Samsung Curve TV" 
    "parent_id": 2 
    } 
] 

Böyle bir yapıyla yineleme veya yığın kullanmak zorunda kalmazsınız. CoreData'ya veri eklemek için tek bir numaralandırma yeterlidir.

ad 1. Varlıklarınızın "ebeveyn" ve "çocuk" ilişkileri olması gerekir.

+0

Merhaba Damian, cevabınız için teşekkürler. Bu iyi bir yaklaşım! – happycoder