###前提・実現したいこと
RSSリーダーアプリを作成しています。
こちらを参考に進めていました。
http://x1.inkenkun.com/archives/909
あらかた、ライブラリ等を入れて、
ビルドしましたが、エラーが出ました。
###発生している問題・エラーメッセージ
.responseJSON { (request, response, data, error) in のコードについて、 以下のエラーメッセージ contextual closure type 'Response<AnyObject,NSError> -> Void' expects 1 argument,but 4 were used in closure body
###該当のソースコード
swift
1 2 3 4 5 6import UIKit 7import Alamofire 8import SwiftyJSON 9import HTMLReader 10 11class parseFeed{ 12 13 /* 14 RSSのJSONをパースする 15 */ 16 func parse (url: String, completion: (([JSON]?, NSError?) -> Void)){ 17 18 var url = NSURL(string: url) 19 20 Alamofire.request(.GET, url!, parameters: nil, encoding: .JSON) 21 22 .responseJSON { (request, response, data, error) in 23 24 let json = JSON(data!) 25 let entries = json["responseData"]["feed"]["entries"].array 26 27 completion(entries, error) 28 } 29 30 31 32 33 34 } 35 36 37 /* 38 URL先の文章と画像を取得 39 */ 40 func getContents (url: String, completion: ((AnyObject, NSError?) -> Void)){ 41 42 var url = NSURL(string: url) 43 var ret : Dictionary<String, String!> = [:] 44 45 Alamofire.request(.GET, url!, parameters: nil) 46 47 .responseString { (request, response, data, error) in 48 49 var content = "" 50 let html = HTMLDocument(string: data) 51 52 if let ogTags = html.nodesMatchingSelector("meta[property=\"og:description\"]") { 53 for tag in ogTags { 54 content = (tag.attributes?["content"] as? String)! 55 } 56 } 57 58 var image = "" 59 if let imgTags = html.nodesMatchingSelector("img") { 60 for img in imgTags { 61 if(img.attributes?["data-src"] != nil){ 62 image = (img.attributes?["data-src"] as? String)! 63 } 64 } 65 } 66 67 ret = [ "content": content , "image" : image ] 68 completion(ret, error) 69 } 70 } 71 72}
###試したこと
ネットで、
Alamofire2.0から3.0に変更となり、
記述方法が変わった事は分かったのですが、
let entries = json["responseData"]["feed"]["entries"].array
等の部分をどう変えたら良いのか分からず、
ここで質問をする事にしましした。
いっそ、
Alamofire3.0から、2.0にダウングレードした方がいいのかな
等考えています。
ですが、ある程度出来たので、
Alamofire3.0に沿っての修正を行いたいです。
よろしくお願いします。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/15 01:53
2016/08/15 02:08
2016/08/15 02:11