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

标签 swift kentico kentico-kontent

我正在使用 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 的属性。

我假设它应该给我类型的名称作为字符串,这样我就可以将它映射到我的类。

最佳答案

您能否验证名称参数中的内容类型代号是否有效?我已尝试重现它(请参阅随附的屏幕截图)并且我这边一切正常(此功能的测试也在 GetContentType.swift 中通过)。

您能否发布 DeliveryClient.swift getContentType() 方法第 176 行的 requestUrl 属性的值?

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

来自 getContentType() 方法的文档:

/**
 Gets single content type from Delivery service.   
 - Parameter name: The codename of a specific content type.
 - Parameter completionHandler: A handler which is called after completetion.
 - Parameter isSuccess: Result of the action.
 - Parameter contentTypes: Received content type response.
 - Parameter error: Potential error.
 */

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

Codename of Content Type

关于swift - Kentico-cloud Swift SDK ContentType 没有可用的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56873746/

相关文章:

在 Gatsby-node.js 中检索多种数据类型时,graphql 出现重复文档错误

ios - 通过 SSL 的 Swift 授权 header

asp.net-mvc - 在 ASP.NET MVC Web 应用程序中包含 Shopify 和 Stripe

Javascript - 当页面使用 SSL 时复选框不起作用(使用 Kentico CMS)

ssl - 肯蒂科 SMTP : use TLS instead of SSL

vue.js - 带有 Bearer token 的 VueJS GET 请求

arrays - 我应该从结构和类切换到数组吗?

ios - 以编程方式计算 Storyboard UIViewController 中附加的 segues

ios - 在 Stackview 中设置项目的 ID