Swift: Erstellen Sie ein Array, Wörterbuch-Werte
Ich bin sehr neu in Swift. Ich habe einen table view controller, in dem ich erklärte, die folgenden:
var parts = [String:[String]]() //Key: String, Value: Array of Strings
var partsSectionTitles = [String]()
In meinem viewDidLoad-Funktion, die ich habe:
parts = [
"Part 1" : ["1", "2", "3"],
"Part 2" : ["1", "2"],
"Part 3" : ["1"]
]
//Create an array of the keys in the parts dictionary
partsSectionTitles = [String](parts.keys)
In meinem cellForRowAtIndexPath Funktion, die ich habe:
let cell = tableView.dequeueReusableCellWithIdentifier("TableCell", forIndexPath: indexPath) as UITableViewCell
var sectionTitle: String = partsSectionTitles[indexPath.section]
var secTitles = parts.values.array[sectionTitle]
cell.textLabel.text = secTitles[indexPath.row]
Ich versuche, ein array zu erstellen, secTitles, bestehend aus den Werten aus der Teile-Wörterbuch, entsprechen die Tasten, sectionTitle. Allerdings erhielt ich diese Fehlermeldung:
'String' nicht konvertierbar 'Int'
War ich in der Lage, es zu tun in Objective-C:
NSString *sectionTitle = [partsSectionTitles objectAtIndex:indexPath.section];
NSArray *secTitles = [parts objectForKey:sectionTitle];
Außerdem würde ich gerne wissen, ob ich in der Lage sein, um hinzuzufügen/entfernen Sie die die Werte in arrays und dictionaries später auf. In anderen Worten, sind Sie veränderlich? Ich habe ein paar Artikel, die sagen, dass Swift arrays und dictionaries eigentlich nicht verändert werden. Ich wollte nur wissen ob jemand bestätigen könnten. Vielen Dank im Voraus für Eure Antworten.
InformationsquelleAutor | 2014-11-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Sie gerade nicht brauchen, die
values.array
:Arrays innerhalb Wörterbücher können mutiert werden, solange das Wörterbuch selbst ist veränderlich, aber müssen Sie die Zuweisung durch ein Ausgliedern Betreiber:
!
zu zwingen, packen Sie, wenn Sie sicher sind, dass der Schlüssel gültig ist, oder verwenden Sie die optionale Bindung oder eine nil-coalescing-operator, um es Auspacken, wenn Sie es nicht sind. (Antwort zeigt nun Kraft auszupacken.)InformationsquelleAutor Nate Cook