Ich versuche, den Inhalt einer .txt-Datei zu analysieren, die die folgenden Daten in diesem Format enthält:Versuch
93 --- Afghanistan
355 --- Albania
213 --- Algeria
684 --- American Samoa
376 --- Andorra
244 --- Angola
...
1 670 --- North Mariana Islands (Saipan)
...
FYI, sind diese Vorwahlen für verschiedene Länder.
Ich muss die Daten mit Swift lesen, und es in ein Dictionary, wo die Schlüssel sind Ländernamen, und die Werte sind die Vorwahlen.
Dies ist der Code, den ich bisher haben:
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")
}
}
}
Im Moment habe ich nur wissen, wie jede Zeile in, zu lesen, aber was ich zu tun ist, möchte ich jede Zeile eingelesen , fügen Sie dem Wörterbuch die erste Zeichenfolge als Wert und die zweite Zeichenfolge, die nach dem Schlüssel (---) als Schlüssel angezeigt wird, hinzu. Hat jemand irgendwelche Vorschläge?
Vielen Dank für Ihre Antwort. Ich habe versucht, Ihren Code auszuführen, aber ich bekomme den folgenden Fehler: fataler Fehler: unerwartet gefunden Null beim Entpacken ein optionaler Wert auf Ihrer letzten Zeile: Wörterbuch [Int (Komponenten [0])!] = Komponenten [1 ] – syedfa
hmm legte einen Haltepunkt auf dieser Linie und sehen, welche Werte innerhalb 'Komponenten' sind scheint, wie es ein' nil' innen aus irgendeinem Grund erhält – Fonix
auch sicherstellen, dass in Ihrer Textdatei alle Vorwahlen in der Tat Zahlen sind .. andernfalls müssen Sie Strings verwenden – Fonix