2017-12-28 31 views
0

Prämisse: Ich bin ein Neuling von Swift.Lesen Sie den Inhalt einer PLIST-Datei in Swift

Ich habe versucht, den Inhalt einer Plist-Datei namens fields.plist in ein Array ('RootArray' genannt) zu laden.

Dies ist die fields.plist Datei:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "..." "..."> 
<plist version="1.0"> 
<array> 
    <array> 
     <string>Question number one</string> 
     <dict> 
      <key>783612</key> 
      <string>Option number one 1</string> 
      <key>234739</key> 
      <string>Option number two 1</string> 
      <key>346837</key> 
      <string>Option number three 1</string> 
     </dict> 
    </array> 
    <array> 
     <string>Question number two</string> 
     <dict> 
      <key>928732</key> 
      <string>Option number one 2</string> 
      <key>263127</key> 
      <string>Option number two 2</string> 
      <key>332877</key> 
      <string>Option number three 2</string> 
     </dict> 
    </array> 
</array> 
</plist> 

Wie kann ich ein Array von diesem erhalten? Vielen Dank!

+0

Kontrolle über“ was ist ein Möglichkeit, Daten lokal in einem Befehlszeilen-Swift-Programm zu speichern ". Fanden Sie diesen Kommentar: '" Kommandozeilen-Tools verwenden die Bundle-Struktur: mit anderen Worten, Bundle.main gibt ein gültiges Paket für das Verzeichnis zurück, das die ausführbare Befehlszeile enthält. Bundle.main.resourceURL gibt die URL für das übergeordnete Verzeichnis zurück. Bundle. main.pathForResource ("file", ofType: "xyz") gibt einen gültigen Pfad zurück, wenn file.xyz in dasselbe Verzeichnis wie das Befehlszeilentool "' kopiert wird. https://stackoverflow.com/questions/38422467/getting-path-for-resource-in-command-line-tool –

+0

Es gibt keine Lösung für eine Befehlszeilenanwendung: https://stackoverflow.com/a/34120607/2450755 –

+0

Okay, danke! –

Antwort

0

Überprüfung über "was ist eine Möglichkeit, Daten lokal in einer Befehlszeile Swift-Programm zu speichern". Fanden Sie diesen Kommentar: "Befehlszeilen-Tools verwenden die Bundle-Struktur: mit anderen Worten, Bundle.main gibt ein gültiges Paket für das Verzeichnis, das die ausführbare Befehlszeile enthält. Bundle.main.resourceURL gibt die URL für das übergeordnete Verzeichnis zurück. Bundle.main.pathForResource („Datei“, ofType: „xyz“) würde eine gültige Pfad vorgesehen file.xyz Rückkehr in das gleiche Verzeichnis wie das Tool Befehlszeile kopiert „

Verwandte Themen