Я пытаюсь разобрать содержимое текстового файла, который содержит следующие данные в этом формате:Попытки разобрать содержимое текстового файла в словарь в Swift
93 --- Afghanistan
355 --- Albania
213 --- Algeria
684 --- American Samoa
376 --- Andorra
244 --- Angola
...
1 670 --- North Mariana Islands (Saipan)
...
FYI, это область коды различные страны.
Мне нужно прочитать данные с помощью Swift и поместить их в словарь, где ключи являются названиями стран, а значениями являются коды областей.
Это код, который у меня до сих пор:
class ViewController: UIViewController {
var dataArray:[String]?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
loadCountryCodes()
}
func loadCountryCodes() {
// Specify the path to the countries list file.
let pathToFile = NSBundle.mainBundle().pathForResource("countrycodes", ofType: "txt")
if let path = pathToFile {
// Load the file contents as a string.
let countriesString = try! String(contentsOfFile: path, encoding: NSUTF8StringEncoding)
// Append the countries from the string to the dataArray array by breaking them using the line change character.
dataArray = countriesString.componentsSeparatedByString("\n")
}
}
}
На данный момент, я только знаю, как читать каждую строку, но то, что я хотел бы сделать, как я прочитал каждую строку в , добавьте первую строку в словарь как значение, а вторую строку, которая появляется после (---) в качестве ключа. У кого-нибудь есть предложения?
Большое спасибо за Ваш ответ. Я попытался запустить ваш код, но я получаю следующую ошибку: Неустранимая ошибка: неожиданно найдено нуль при развертывании Необязательное значение в вашей последней строке: словарь [Int (компоненты [0])!] = Компоненты [1 ] – syedfa
hmm положил точку останова на эту строку и посмотрел, какие значения находятся внутри 'components', похоже, что он получает' nil' внутри по какой-то причине – Fonix
также убедитесь, что в вашем текстовом файле все коды областей на самом деле являются числами .. в противном случае вам придется использовать строки – Fonix