で
public func getMedia(completion: @escaping (Array<Any>) ->()){
Alamofire.request(URL(string: MEDIA_URL)!,
method: .get)
.responseJSON(completionHandler: {(response) -> Void in
if let value = response.result.value{
let json = JSON(value).arrayValue
completion(json)
}
}
)
}
問題は、エラーメッセージがあなたを言っているまさにです:変数に添字ために、それは添字をサポート型として宣言する必要がありますが、あなたはしましたあなたの配列をAny
として宣言しました。そして、最も基本的な型であるAny
は、サブスクリプトをサポートしていません。
代わりにこのようなあなたのgetMedia
関数を宣言、あなたの配列は辞書が含まれていると仮定すると:辞書は文字列以外のキーが含まれているかもしれないという可能性があるかどう
public func getMedia(completion: @escaping ([[String : Any]]) ->())
または、:
public func getMedia(completion: @escaping ([[AnyHashable : Any]]) ->())
ディクショナリの値の型がすべて同じ場合は、Any
を適切な型に置き換えます。