2016-05-09 4 views
0

Ich bin ein JSON NSDictionary auf diese Weise immerAssign NSDictionary zu einem globalen NSMutableDictionary in schnellen

guard let json = try NSJSONSerialization.JSONObjectWithData(data, options: []) as? NSDictionary else { 
       throw JSONError.ConversionFailed 

Was ich jetzt tun möchten, erstellen Sie eine leere NSMutableDictionary in global und weisen diese json zu diesem globalen NSMutableDictionary. Wie kann ich das schnell machen? Bitte hilf mir.

+0

Nun, was haben Sie bisher? Es ist schwer, dies ohne Kontext zu beantworten. – Alexander

+0

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/ClassesAndStructures.html – Alexander

+0

var mutableJson = NSMutableDictionary (Wörterbuch: json) sollte funktionieren. Ich bin mir nicht einmal sicher, dass nur "Guard Var Json" den Trick machen könnte? –

Antwort

0

Ich würde ein schnelles Wörterbuch dafür verwenden.

guard let json : [String : AnyObject] = try NSJSONSerialization.JSONObjectWithData(data, options: []) as? [String : AnyObject] else {throw JSONError.ConversionFailed} 
if let string = json["key"] as? String { 
print(string) 
} 

Oder verwenden Sie eine Var, wenn Sie es mutieren möchten.

2

Sie benötigen ein globales Wörterbuch, auf das Sie zugreifen können. Einige Leute setzen globale Dinge in das AppDelegate, aber persönlich mag ich das nicht. Eine andere Lösung wäre also, eine Globals Singleton Klasse zu erstellen und zu erlauben, dass das neue Wörterbuch und alle anderen Globals, die du benötigst, überall gespeichert werden Projekt. Auf diese Weise können Sie einfach über die Globals-Klasse auf das Wörterbuch zugreifen.

class Globals { 
    static let sharedInstance = Globals() 
    class var mySavedDictionary = [String: AnyObject]() 

    private init() { 
     // 
    } 
} 

Dann könnten Sie die mySavedDictionary Beispiel durch etwas in dieser Richtung zugreifen ...

guard let json = try NSJSONSerialization.JSONObjectWithData(data, options: []) as? NSDictionary else { 
       throw JSONError.ConversionFailed 
    } 

Globals.sharedInstance.mySavedDictionary = json