
[code]

    func getJson(param: models)-> Dictionary{
        let url = "https://test.com/" + models + ".php"
        let json = JSON(data:super.HttpRequest())
        print(json.type) /* print結果 "Dictionary" */
        print(json) /* jsonの内容は意図したデータが帰ってきております。 */
        print(json['name']) /* 左の指定で「山田太郎」も問題ございません。 */
        return json
    }
    /* call */
    myClass.getJson()
    
[/code]

httpRequestを実行し、jsonデータを受信するためのプログラムを作成しておりますが、  
戻り値のデータ型を「Dictionary」にすると、  
「Reference to generic type 'Dictionary' requires arguments in
<...>」というエラーになってしまいます。  
JSON関数から受け取った状態の「json」変数のtypeを「print」しても「Dictionary」となるのですが、戻り値の「->Dictionary」のところがエラーになります。

ご教授いただけませんでしょうか。よろしくお願いいたします。


CC BY-SA 3.0
2015-10-02T12:04:50.617
17189
2015-12-31T17:54:30.520
12504
question
swift xcode
Swiftでの「Dictionary型」戻り値について


エラーメッセージの内容は、「`Dictionary`を関数の返り値とする場合にはジェネリクス型の指定（たとえば、`Dictionary<String,
AnyObject>`）をする必要がある」というものですが、ここでは関係ありません。

SwiftyJSONを利用されているのだと思われますが、`type`プロパティが返却する型情報は単にJSONのルート要素の型を示しており、Swift上での型は`JSON`になります。

[code]

    func getJson(param: models) -> JSON {
        let url = "https://test.com/" + models + ".php"
        let json = JSON(data:super.HttpRequest())
        return json
    }
    
[/code]


CC BY-SA 3.0
2015-10-02T12:43:45.090
17190
2015-10-02T13:00:06.603
2015-10-02T13:00:06.603
5337
5337
17189
answer