0

私はAFHTTPRequestOperationこのように迅速に使用しています:

let operation : AFHTTPRequestOperation? = manager.GET(requestURL, parameters: nil,
            success: { (operation:AFHTTPRequestOperation!, responseObject:AnyObject!) -> Void in

...
...
...
                success(downloadedItems: responseObject)
            }, failure: { (operation: AFHTTPRequestOperation!, error: NSError!) in
                failure(responseFromCache: responseFromCache, error: error);
        })

アプリケーション固有の目的(ETagなど)にsetCacheResponseBlockを使用しています。

operation!.setCacheResponseBlock { (connection: NSURLConnection, cachedResponse: NSCachedURLResponse) -> NSCachedURLResponse in print("Returns:200") responseFromCache = false return cachedResponse }

XCode を新しいバージョン XCode7.1 に更新するまでは、すべて問題ありませんでした。

これが私の問題です。更新後にアプリケーションをビルドすると、次のエラーが発生します。

Cannot convert value of type '(NSURLConnection, NSCachedURLResponse) -> NSCachedURLResponse' to expected argument type '((NSURLConnection!, NSCachedURLResponse!) -> NSCachedURLResponse!)!'

これを修正する方法は?

4

1 に答える 1

0

エラー メッセージを確認したところ、パラメータに問題があることがわかりました。XCode でメソッドの宣言を確認し、メソッドの宣言が更新されたことを理解しています。

func setCacheResponseBlock(block: ((NSURLConnection!, NSCachedURLResponse!) -> NSCachedURLResponse!)!)

私はこのように私の方法を更新しました:

  operation!.setCacheResponseBlock { (connection: NSURLConnection!, cachedResponse: NSCachedURLResponse!) -> NSCachedURLResponse! in
            print("Returns:200")
            responseFromCache = false
            return cachedResponse
        }

そして、Xcode でのビルド成功メッセージでの別のハッピー エンド。これが誰かを助けることを願っています。

于 2015-10-22T14:28:26.667 に答える