2017-08-09 8 views
0

下記のコードを参照してください問題が発生しています。私は関数のほとんどを追加しました。私は3行目でエラーが発生しています。私がやろうとしていることをより深く理解するためです。移行後のコンテンツSDKコードに関する問題

func getTopArticles(_ vc: ArticleListViewController, subCatId: String) { 
    var articleDict = [String: Article]() 
    Constants.CLIENT.fetchEntries(["content_type":Constants.CONTENT_TYPE_ARTICLE, 
     "fields.top10Listing.sys.id":subCatId, "order":Constants.SORT_CREATED_AT_DESCENDING]) { //Getting error here 
     switch $0 { 
     case let .success(articleResult): 
      if articleResult.items.isEmpty { 
       vc.noTopArticlePresent() 
      } 
      else{ 
       for articleEntry in articleResult.items { 
        let article = Article (entry:articleEntry) 
        vc.art.append(article) 

        // store into search cache 
        Constants.ARTICLE_CACHE.fetch(key: "articles").onSuccess({ (result) in 
         if let dictValue = result as? [String:Article] 
         { 
          articleDict = dictValue 
          articleDict[article.articleId] = article 
         } 
         Constants.ARTICLE_CACHE.set(value: articleDict, key: "articles") 
        }).onFailure({ (error) in 
         Constants.ARTICLE_CACHE.set(value: articleDict, key: "articles") 
        }) 
       } 
       Constants.CACHE.set(value: NSKeyedArchiver.archivedData(withRootObject: vc.art), key: subCatId) 

       DispatchQueue.main.async { 
        vc.dothis() 
       } 
      } 
    } 
} 

取得

引数ラベル下の行3を参照してくださいエラーでエラー「(__:_ :)」使用可能な任意のオーバーロード

答えて

0

あなたが引数のラベルmatchingが欠落していると一致しませんメソッド呼び出し。あなたがあなたの引数のラベルをしないというエラーが表示された場合は、一般的に

Constants.CLIENT.fetchEntries(matching: 
["content_type": Constants.CONTENT_TYPE_ARTICLE, 
      "fields.top10Listing.sys.id":subCatId, "order":Constants.SORT_CREATED_AT_DESCENDING]) { (result: Result<ArrayResponse<Entry>>) in // Or anonymous argument $0 as you were using in your example. 

関数のシグネチャは

fetchEntries(matching:completion)は、次のようになります。上記のあなたの例を取ると、そして私たちの呼び出しを追加で一致している場合は、ソース内の宣言を見つけて渡される引数の名前との不一致があるかどうかを比較することができます。Swiftの引数ラベルとパラメータ名の詳細については、hereを参照してください。

関連する問題