zweite Aufgabe quickFilterDictionary
in self.preferencesListFilterDictionary
ist nil
. Wie fügt man [NSIndexPath
] Indexpfad (als Schlüssel) und NSNumber
(als Wert) in Dictionary
hinzu?Probleme beim Hinzufügen von NSIndexPath als Schlüssel und NSNumber als Wert im Wörterbuch?
Hinweis: Das erste Objekt wurde erfolgreich hinzugefügt, nur das zweite Objekt ist nil
, wenn ich self.preferencesListFilterDictionary
in der Konsole ausgedruckt habe. Darf ich wissen, was mache ich falsch unter dem Code?
self.preferencesListFilterDictionary["price"] = 1000
self.quickFilterArr = [localizedStrOf("deliveryNowOnly"),localizedStrOf("rated")]
var quickFilterDictionary = Dictionary<NSIndexPath, NSNumber?>()
for obj in self.quickFilterArr {
let row = self.quickFilterArr.indexOf(obj)
let indexPath = NSIndexPath(forRow:row!, inSection: 0)
quickFilterDictionary[indexPath] = NSNumber(bool: false)
}
print(quickFilterArr.count)
print(quickFilterDictionary)
self.preferencesListFilterDictionary.updateValue(quickFilterDictionary as? AnyObject, forKey: "quickFilterDictionaryKey")
print(self.preferencesListFilterDictionary)
Konsole Druck:
▿ [1] : 2 elements
- .0 : "quickFilterDictionaryKey"
- .1 : nil
Um oben Wörterbuch Bool von Nummer zu bekommen, schrieb ich folgenden Code -
func getQuickFilterValueOfIndexpath(indexPath:NSIndexPath) -> Bool {
if let val = self.preferencesListFilterDictionary["quickFilterDictionaryKey"] {
// now val is not nil and the Optional has been unwrapped, so use it
let tempDict = val as! Dictionary<NSIndexPath, NSNumber?>
if let boolVal = tempDict[indexPath] {
return boolVal!
}
}
return false
}
Hallo @Kayla Galway, Sie diese Aussage verfehlt - self.quickFilterArr = [localizedStrOf ("deliveryNowOnly"), localizedStrOf ("Rating")] – Lion