質問: JSON(data:super.HttpRequest()) print(json.type) /* print結果 "Dictionary" */ print(json) /* jsonの内容は意図したデータが帰ってきております。 */ print(json['name']) /* 左の指定で「山田太郎」も問題ございません。 */ return json } /* call */ myClass.getJson() ``` httpRequestを実行し、jsonデータを受信するためのプログラムを作成しておりますが、 戻り値のデータ型を「Dictionary」にすると、 「Reference to generic type 'Dictionary' requires arguments in <...>」というエラーになってしまいます。 JSON関数から受け取った状態の「json」変数のtypeを「print」しても「Dictionary」となるのですが、戻り値の「->Dictionary」のところがエラーになります。 ご教授いただけませんでしょうか。よろしくお願いいたします。
回答: エラーメッセージの内容は、「`Dictionary`を関数の返り値とする場合にはジェネリクス型の指定(たとえば、`Dictionary`)をする必要がある」というものですが、ここでは関係ありません。 SwiftyJSONを利用されているのだと思われますが、`type`プロパティが返却する型情報は単にJSONのルート要素の型を示しており、Swift上での型は`JSON`になります。 ``` func getJson(param: models) -> JSON { let url = "https://test.com/" + models + ".php" let json = JSON(data:super.HttpRequest()) return json } ```