2017-02-22 1 views
0

Je lis actuellement dans un tableau d'un plist en utilisant ce codeComment puis-je lu dans une entrée d'un tableau de plist

let filePath = Bundle.main.path(forResource: "levelList", ofType: "plist") 


if let path = filePath { 
    devices = NSArray(contentsOfFile: path) as! [AnyObject] 
} 

let device1 = devices[0] as! [String: AnyObject] 
let device2 = devices[1] as! [String: AnyObject] 

Si je sais avant d'avoir lu du dossier que je ne suis intéressé par appareil 1 existe-t-il un moyen de ne lire sélectivement que dans cette partie du tableau?

+0

Vous voulez dire, en lecture seule dans cette partie du dossier? –

+0

Pouvez-vous donner plus de détails sur ce que vous voulez. –

Répondre

0

Si vous souhaitez lire de manière sélective votre fichier plist uniquement la première valeur device1, vous devez lire le fichier ligne par ligne par NSFileHandle. Cependant, vous devez décider de votre point de terminaison en lisant ligne par ligne, par ex. lorsque vous lisez le premier tag </device>.

Vous pouvez vérifier ce lien comme référence How to read data from NSFileHandle line by line?

espoir que cela vous aide.

0

Essayez cette

let dictionary = NSDictionary(contentsOfFile: Bundle.main.pathForResource("levelList", ofType: "plist")!); 
let array = dictionary?["arrayKey"] as! NSArray 
print("dictionary=", dictionary, "\narray =", array)