JSONデータを辞書に解析しようとしています。解析には別の方法を使用していますが、後で別の方法で他の操作に結果(辞書)を使用したいと考えています。オンラインの例。
ただし、returnステートメントを Guard 内に挿入するように求められたため、値を返すことはできませんが、挿入後に「非 void 関数は値を返す必要があります」と表示されます。
コードは次のようになります。
func extractJSONDictionaryFrom(JSONData:NSData) ->NSMutableDictionary
{
var dict = NSMutableDictionary()
do {
guard let JSON = try NSJSONSerialization.JSONObjectWithData(JSONData, options:NSJSONReadingOptions(rawValue: 0)) as? NSDictionary else {
print("Not a Dictionary")
return
}
dict = NSMutableDictionary(dictionary: JSON)
}
catch let JSONError as NSError {
print("\(JSONError)")
}
print("The JSON is \(dict)")
return dict
}
「extractJSONDictionaryFrom」を呼び出すときに他のメソッドでスローを処理する必要があるため、スローを使用するアプローチもほとんど役に立ちません。