0

次のコンパイル エラーが発生しました。

タイプ '((_, _, _) -> Void)' の引数リストで 'enumerateObjectsUsingBlock' を呼び出すことはできません

この XCode6.3 のスクリーンショットを見ると、状況が理解しやすいと思います。

ここに画像の説明を入力

このコードは、メソッドを使用した PHAsset オブジェクトの取得をテストするためのfetchAssetsWithMediaTypeものです。ご存知かもしれませんが、このメソッドは、列挙型メソッドを持つ PHFetchResult を返します。結果のすべてのオブジェクトを で列挙しようとしましたenumerateObjectsUsingBlock。残念ながら、Swift コンパイラでエラーが発生しました。長い調査の結果、このコードが正しいという結論に達しました。

参考までに、上記のコードは PHAsset をテストするためにグーグルで検索したものです。

4

1 に答える 1

1

私はついに私の質問に対する答えを見つけました。のブロックの最初のパラメータはenumerateObjectsUsingBlockですAnyType!。したがって、objメソッドの引数appendは でダウンキャストする必要がありas!ます。

とにかく、エラーメッセージはこの間違いを指摘するのに正確ではないと思います. ブロックに何か問題がある場合、コンパイラはこの種のエラーメッセージをプログラマーに与えるようです。

于 2015-04-18T16:51:34.647 に答える