Explorar o código

Return request in ProductsInfoController

Roman Podymov %!s(int64=5) %!d(string=hai) anos
pai
achega
913e8c6486
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  1. 3 1
      SwiftyStoreKit/ProductsInfoController.swift

+ 3 - 1
SwiftyStoreKit/ProductsInfoController.swift

@@ -51,7 +51,7 @@ class ProductsInfoController: NSObject {
     // As we can have multiple inflight requests, we store them in a dictionary by product ids
     private var inflightRequests: [Set<String>: InAppProductQuery] = [:]
 
-    func retrieveProductsInfo(_ productIds: Set<String>, completion: @escaping (RetrieveResults) -> Void) {
+    func retrieveProductsInfo(_ productIds: Set<String>, completion: @escaping (RetrieveResults) -> Void) -> InAppProductRequest {
 
         if inflightRequests[productIds] == nil {
             let request = inAppProductRequestBuilder.request(productIds: productIds) { results in
@@ -68,8 +68,10 @@ class ProductsInfoController: NSObject {
             }
             inflightRequests[productIds] = InAppProductQuery(request: request, completionHandlers: [completion])
             request.start()
+            return request
         } else {
             inflightRequests[productIds]!.completionHandlers.append(completion)
+            return inflightRequests[productIds]!.request
         }
     }
 }