Perché gli elenchi di proprietà non utilizzano più tipi di elementi XML? [chiuso]

-2

La maggior parte dei software memorizza le informazioni in XML in questo modo:

<book>
  <title>Generic Examples, the Internet, and You</title>
  <length pages="43" />
  <authors>
    <person>Yolanda Squatpump</person>
    <collective>
      Anonymous 1
      Anonymous 2
      <et.al />
    </collective>
  </authors>
</book>

Mentre il .plist s di Apple sarebbe simile a:

<plist version="1.0">
<dict>
  <key>Label</key>
  <string>book</string>
  <key>title</key>
  <string>Generic Examples, the Internet, and You</string>
  <key>length</key>
  <dict>
    <key>pages</key>
    <integer>43</integer>
  </dict>
  <key>authors</key>
  <dict>
    <key>person</key>
    <string>Yolanda Squatpump</string>
    <key>collective</key>
    <array>
      <string>Anonymous 1</string>
      <string>Anonymous 2</string>
    </array>
  </dict>
</dict>
</plist>

Perché?

    
posta Josh Tilles 01.11.2012 - 18:24
fonte

1 risposta

2

Immagino che la ragione principale sia che gli elenchi di proprietà sono progettati per essere facilmente accessibili dai programmi Objective-C. Ogni programma iOS e OS X utilizza almeno un elenco di proprietà per comunicare le informazioni di base su se stesso al sistema e la maggior parte le usa frequentemente nel codice, in particolare per memorizzare le preferenze (questo è il motivo per cui la maggior parte delle app è accessibile tramite defaults di comando).

Gli elenchi di proprietà in Obj-C sono definiti come un tipo di dizionario che contiene stringhe, numeri, array, date, byte grezzi e altri dizionari solo . Prescrivere esattamente quali tipi può contenere un elenco di proprietà significa che è possibile accedere a qualsiasi e sapere cosa aspettarsi. Consentire più elementi XML in formato libero aumenterebbe la complessità e richiederà un sacco di rielaborazione del codice esistente, per non molto vantaggio.

    
risposta data 01.11.2012 - 18:44
fonte

Leggi altre domande sui tag