Stimmen aus [String:AnyObject], um unzusammenhängende Art NSMutableDictionary schlägt immer fehl Warnung
Code funktioniert, aber wie Stelle ich leise diese Warnung, das hält erscheinen, jedes mal?
let parentView = self.parentViewController as! SBProfileViewController
parentView.savedDetailsModel = SBSavedUserModel(data:responseObject["data"].dictionaryObject! as! NSMutableDictionary)
cast von '[String:AnyObject]' unabhängigen Typ 'NSMutableDictionary' schlägt immer fehl Warnung
SavedUserModel speichert Informationen gespeichert:--
class SBSavedUserModel : NSObject {
var userId : String!
var firstName : String!
var lastName : String!
var imageBase64 : String!
required init ( data : NSMutableDictionary) {
self.userId = data.objectForKey("userId") as! String
self.firstName = data.objectForKey("fName") as! String
self.lastName = data.objectForKey("lName") as! String
self.imageBase64 = data.objectForKey("image") as! String
}
- Warum wollen Sie Ihr Wörterbuch zu veränderlich?
- Denn Inhalt des Wörterbuchs kann sich zur Laufzeit ändern. Als Benutzer kann ändern/Bearbeiten der details einer beliebigen Anzahl von Zeiten. @Tommy
- Der code, den Sie uns mitgeteilt haben, sieht vier Elemente aus dem Wörterbuch und dann nie verwendet es wieder.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, anstelle
responseObject["data"].dictionaryObject! as! NSMutableDictionary
mit dabei:
NSMutableDictionary(dictionary: responseObject["data"].dictionaryObject!)
Könnten Sie leicht gegossen in ein NSDictionary, aber aus irgendeinem Grund, wenn Sie möchten, eine NSMutableDictionary, müssen Sie initialisieren eine neue mit
NSMutableDictionary(dictionary:)
Bearbeiten: siehe auch den Kommentar auf diese Frage von @Tommy, warum dies notwendig ist.
Im Gegensatz zu
NSArray
undNSDictionary
die veränderlicheFoundation
collection-TypenNSMutableArray
undNSMutableDictionary
sind nicht überbrückt, um die Swift-Pendants.Ist die einfachste Lösung, um mit Swift native Typen
Oder – noch bequemer, wenn alle Werte in der dictionary sind strings
Hoffen, auf diese Weise können Sie helfen:
mutableDictionary as NSDictionary as? [String: AnyObject]
gleiche Weise funktioniert auf NSMutableArray.