2016-05-09 6 views
0

に私は今、何をしたいのか、このよう割り当てNSDictionaryのは、迅速

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

でJSON NSDictionaryを取得していますグローバルに空NSMutableDictionaryを作成し、そのグローバルNSMutableDictionaryにこのjsonを割り当て、です。迅速にこれを行うにはどうすればいいですか?私を助けてください。

+0

はさて、あなたはこれまでに何がありますか?文脈なしでこれに答えるのは難しいです。 – Alexander

+0

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

+0

var mutableJson = NSMutableDictionary(辞書:json)が動作するはずです。私はちょうど "ガードvar json"がトリックを作ることができると確信していませんか? –

答えて

0

私はこれにスウィフトディクショナリを使用します。

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) 
} 

または、変異させたい場合は、varを使用します。

2

アクセス可能なグローバル辞書が必要です。 AppDelegateにグローバルなものを入れている人もいますが、個人的にはそうしたくないので、Globalsシングルトンクラスを作成し、新しい辞書や他のグローバルを保存することもできます。プロジェクト。そうすれば、Globalsクラスを介して辞書にアクセスできます。あなたはこれらの線に沿って何かでmySavedDictionaryインスタンスにアクセスすることができ

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

    private init() { 
     // 
    } 
} 

はその後...

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

Globals.sharedInstance.mySavedDictionary = json