2014-01-10 2 views
1

Я пытаюсь преобразовать мой .plist в SQLITE DB, так как мое приложение получило отказ, потому что .plist был слишком большим.Plist To SQLITE

Я пробовал несколько дней и до сих пор не знаю, как это сделать. Сначала попытался найти какой-то конвертированный, но не смог найти его сейчас. Я пытаюсь преобразовать брошенный код с перечислением, но не могу получить правильный результат.

Может кто-нибудь помочь мне преобразовать это в SQLite (просто нужно SQL INSERT вещи и отношения, если необходимо, так как я собираюсь использовать FMDB будет легко реализовать в Xcode):

<array> 
<dict> 
    <key>State</key> 
    <string>Alabama</string> 
    <key>Area code</key> 
    <dict> 
     <key>205</key> 
     <array> 
      <dict> 
       <key>City</key> 
       <string>Birmingham, AL</string> 
       <key>County</key> 
       <string>Jefferson</string> 
      </dict> 
      <dict> 
       <key>City</key> 
       <string>Birmingham, AL</string> 
       <key>County</key> 
       <string>Shelby</string> 
      </dict> 
     </array> 
     <key>251</key> 
     <array> 
      <dict> 
       <key>City</key> 
       <string>Mobile, AL</string> 
       <key>County</key> 
       <string>Mobile</string> 
      </dict> 
      <dict> 
       <key>City</key> 
       <string>Atmore, AL</string> 
       <key>County</key> 
       <string>Escambia</string> 
      </dict> 
     </array> 
    </dict> 

    <key>Zip code</key> 
    <array> 
     <dict> 
      <key>City</key> 
      <string>Wetumpka</string> 
      <key>County</key> 
      <string>Elmore</string> 
      <key>Zip code</key> 
      <string>36093</string> 
     </dict> 
     <dict> 
      <key>City</key> 
      <string>Winfield</string> 
      <key>County</key> 
      <string>Fayette</string> 
      <key>Zip code</key> 
      <string>35594</string> 
     </dict> 
    </array> 
</dict> 

В верхнем массиве содержится словарь состояний (это всего лишь Алабама, все состояния включены, но должно быть достаточно, например).

Спасибо.

+0

Также To-Core-Data также будет полезен, если кто-то может помочь. Спасибо –

+0

Вы вообще ничего не знаете о SQLite? Как вы первоначально создавали данные XML? (Насколько я понимаю, вы хотите отправить «консервированную» SQLite DB, поэтому вы, вероятно, захотите создать ее на настольной системе. Можете также начать с ваших исходных данных.) –

ответ

1

Вы хотите перейти на данные ядра. Добавьте модель в свой проект, она находится в разделе «Основные данные» в файле мастера.

Сверху, похоже, вам нужны два объекта: State и AreaCode; Состояние будет иметь отношение toMany к сущности AreaCode. Как только эти объекты построены в построителе моделей, вы можете экспортировать их, и Xcode будет генерировать классы для вас.

Если вы хотите перенести свой текущий plist напрямую; Я думаю, что лучший способ - открыть plist как словарь; для каждого словаря со слова initWithEntity: и сделайте соответствующее - [setValue: forKey:] для ваших свойств из словаря. Затем, когда вы сохраните контекст объекта, все будет сохранено для вас.

+0

Спасибо, сработало! –