Параметр Graphql, возвращающий необязательно (необязательно («значение»)) - iOS - PullRequest
1 голос
/ 27 мая 2019

Я использую API GraphQL в своем проекте с использованием Apollo.Я вызвал многие API с помощью graphql, и они возвращают успех, но теперь я пытаюсь вызвать API, используя некоторые параметры, которые возвращают значение как необязательное (необязательное («значение»)) и возвращают результат как пустой.

Я передаю параметр как

let filterInput = FilterInput(title: "car")
print("filterInput....", filterInput)
self.getAllProducts(pgNum: 0, filterInput: filterInput)

Фактический результат:

filterInput: FilterInput (graphQLMap: ["title": Необязательно (Необязательно (""") "*

Ожидаемый результат:

filterInput: FilterInput (graphQLMap: ["title": "car", "transmissionId": nil, "location":ноль, «радиус»: ноль, «пробег»: ноль, «идентификатор службы»: ноль, «seatCountTo»: ноль, «модель»: ноль])

Это мой код запроса,

  func getAllProducts(pgNum: Int , filterInput : FilterInput)
  {
    self.imageArr.removeAll()
    self.checkPageNumber = self.pageNumber
    apollo.fetch(query: GetAllProductsQuery(filter: filterInput, pageNumber: String(pgNum))){ (result, error) in
        let productDetails = result?.data?.getAllProducts
        if productDetails?.count == 0
        {
            DispatchQueue.main.async {
                self.hideActivityIndicator()
            }
        }
        else
        {
            if result?.data?.getAllProducts != nil{
                for i in 0...(result?.data?.getAllProducts?.count)!-1
                {
                    let index = productDetails![i]
                    let productId = index?.id
                    let productTitle = index?.title

                    let imageArr = index?.images
                    if imageArr!.count > 0
                    {
                        self.imageArr.append(imageArr![0]!)
                    }
                    else
                    {
                        self.imageArr.append("")
                    }

                    self.productIdArr.append(productId!)
                    self.productTitleArr.append(productTitle!)

                }
                DispatchQueue.main.async {
                    self.productImageArr = self.productImageArr + self.imageArr
                    self.productCollectionView.reloadData()
                    self.singleTonInstance.allProductImages  = self.productImageArr

                }
            }
        }
    }
}
...