0

私が使用している API には、キャッシング ヘッダーがかなり貧弱です。私は独自のキャッシングを実装したいと考えており、Alamofire を使用してどのようにそれを行うのか疑問に思っていました。私はswiftの初心者ですが、基本は理解できたと思います。NSURLSessionDataDelegate最初に考えたのはメソッドを実装することURLSession(_:dataTask:willCacheResponse:completionHandler:)でしたが、Manager オブジェクトには既に独自のデリゲートがあり、それを拡張する方法がわかりません。Alamofire を介してリクエストをデバッグしようとしましたが、willCacheResponseデリゲート メソッドが起動されていないようで、それ自体が問題である可能性があります。

私の2番目の考えは、Managerを拡張して何かを追加すること.cachedRequestでしたが、拡張機能を介して何にもアクセスできず、Requestオブジェクトを初期化できず、オプションがほとんどありません。

JavaScript から来て、Promise のファンである私は、次のようなことができるようになりたいと思っています。

manager.request(Router.UserChannels)
        .checkCache()
        .responseCollection { (_, _, channels: [Channel]?, error: NSError?) in
            completionHandler(channels, error)
        }

しかし、私はそれがそのように機能しないと思います。これについて何らかの意見をいただければ幸いです。

ありがとう。

4

0 に答える 0