Kentico-cloud Swift SDK ContentType没有可用的属性

时间:2019-07-03 15:42:15

标签: swift kentico kentico-cloud

我正在使用Kentico-cloud Swift SDK在后台使用Delivery API从CMS抓取一堆元素。

其中一种Swift SDK方法允许我获取CMS上某个元素的ContentType,因此可以将其映射到代码中的对象。这是代码:

self.client.getContentType(name: codename, completionHandler: { (isSuccess, contentType, error) in
                            guard error == nil else {
                                print(error!)
                                return
                            }
                            if isSuccess {

                                if let type = contentType {

                                    print(type)
                                    self.client.getItem(modelType: type, itemName: codename, completionHandler: { (isSuccess, deliveryItem, error) in

                                        if isSuccess {
                                            // save this Element
                                            print(deliveryItem)
                                        } else {
                                            if let error = error {
                                                print(error)
                                            }
                                        }
                                    })
                                }
                            }
                        })

属性codename是我要为其寻找ContentType的对象的名称。调用成功,但是我得到了ContentType对象,很遗憾,该对象中没有nil以外的任何属性。

我认为它应该给我类型的名称作为String,以便我可以将其映射到我的班级。

2 个答案:

答案 0 :(得分:1)

您能否验证name参数中的内容类型代号有效?我已经尝试过重现它(请参阅随附的屏幕截图),并且一切都在我这边进行(对此功能的测试也在{[K in keyof R]: R[K]}中通过了。)

您可以从{uuid: number; name: string; age: number; alive: boolean} GetContentType.swift方法第176行中发布requestUrl属性的值吗?

编辑:哦,在GitHub问题的屏幕上,我可以看到您正在尝试获取内容类型为错误的项的代号。您应该使用内容类型的代号。

DeliveryClient.swift方法的文档中:

getContentType()

您可以了解有关内容类型here的更多信息。

Codename of Content Type

答案 1 :(得分:0)

我也有同样的想法usps tracking,但感谢您提出了一个问题。

感谢和问候, 谢恩。