Graphql参数返回可选的(可选(“值”))-iOS

时间:2019-05-27 07:04:42

标签: ios swift graphql apollo

我在使用Apollo的项目中使用了GraphQL API。我用graphql调用了许多API,但返回成功,但是现在我试图使用一些参数来调用API,该参数返回的值是optional(optional(optional(“ value”))),结果返回为空。

我将参数传递为

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

实际结果:

  

filterInput:FilterInput(graphQLMap:[“ title”:Optional(Optional(“ car”)),“ transmissionId”:nil,“ location”:nil,“ radius”:nil,“ mileageTo”:nil,“ serviceId “:无,” seatCountTo“:无,”模型“:无]]

预期结果:

  

filterInput:FilterInput(graphQLMap:[“ title”:“ car”,“ transmissionId”:零,“ location”:零,“ radius”:零,“ mileageTo”:零,“ serviceId”:零,“ 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

                }
            }
        }
    }
}

0 个答案:

没有答案
相关问题