2017-02-22 5 views
0

я в настоящее время чтения в массиве из списка свойств, используя этот кодКак я прочитал в одной записи из массива 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] 

Если я знаю, прежде чем я прочитал из файла, что я заинтересован только в устройстве 1 есть ли способ выборочно читать только в этой части массива?

+0

Вы имеете в виду, только для чтения в той части файла? –

+0

Можете ли вы дать более подробную информацию о том, что вы хотите. –

ответ

0

Если вы хотите выборочно читать ваш файл plist только с первым значением device1, вы должны прочитать файл по строкам на NSFileHandle. Тем не менее, вы должны определить свою точку окончания при чтении строки за строкой, например. когда вы читаете первый тег </device>.

Вы можете проверить эту ссылку, как справки How to read data from NSFileHandle line by line?

Надеется, что это помогает вам.

0

Попробуйте

let dictionary = NSDictionary(contentsOfFile: Bundle.main.pathForResource("levelList", ofType: "plist")!); 
let array = dictionary?["arrayKey"] as! NSArray 
print("dictionary=", dictionary, "\narray =", array) 
Смежные вопросы