2014-11-03 6 views
7

Può qualche corpo mi aiuta perché il codice qui sotto non funziona .. sto testando in Xcode.1 giochiXML parsing in rapida

let url:NSURL! = NSURL(fileURLWithPath:"file:///Users/sss/Documents/app.xml") 

var xml = NSXMLParser(contentsOfURL: url) 

xml?.parse() 

risposta

19

Parchi giochi presentano questa funzionalità, in modo da non essere in grado di basta prendere i file da qualsiasi punto della cartella utente. Ecco come aggiungere il file al vostro parco giochi per renderlo accessibile:

  1. Trovare il file ".playground" nel Finder
  2. clic destro e scegliere 'Mostra contenuto pacchetto'
  3. Dovreste vedere "timeline .xctimeline", "contents.xcplayground", e "la sezione-1.Swift"
  4. creare una nuova cartella denominata "Risorse"
  5. Copy "app.xml" in quella nuova cartella

Ora il file sarà disponibile all'interno della sandbox. Puoi recuperarlo dal bundle e caricarlo nel NSXMLParser in questo modo:

let url: NSURL! = NSBundle.mainBundle().URLForResource("app", withExtension: "xml") 
var xml = NSXMLParser(contentsOfURL: url) 
+0

Ciao Nate Cook ti ringrazio molto per il tuo grande aiuto. Ora ho capito che il parco giochi è un ambiente in sabbia. Ma puoi dirmi perché le stesse 3 righe di codice non funzionano sull'applicazione Mac OS X. In realtà ho un requisito nella mia applicazione mac in cui devo analizzare il file xml selezionato dall'utente dal NSOpenPanel – appdevelopersspotlight

+0

Perse il tuo follow-up, mi dispiace! Se stai ancora avendo questo problema, puoi pubblicare una nuova domanda? Non ho alcuna familiarità con 'NSOpenPanel' e OS X sandboxing. –

+0

Se il file del parco giochi è aperto quando si effettuano queste modifiche, ricordarsi di chiuderlo e riaprirlo prima di provare ad accedere ai file nella cartella Risorse. –