首页 > 解决方案 > Kentico-cloud Swift SDK ContentType 没有可用的属性

问题描述

我正在使用 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.

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

标签: swiftkenticokentico-kontent

解决方案


您能否验证您在 name 参数中具有有效的内容类型代号?我已经尝试重现它(请参阅随附的屏幕截图),并且一切都在我身边工作(也有针对此功能的测试,它也通过了GetContentType.swift)。

你能从方法行 176中发布一个requestUrl属性的值吗?DeliveryClient.swift getContentType()

编辑:哦,从您在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.
 */

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

内容类型的代号


推荐阅读