Kentico-облако Swift SDK ContentType не имеет пригодных для использования свойств - PullRequest
0 голосов
/ 03 июля 2019

Я использую облачный пакет Kentico Swift SDK для получения набора элементов из CMS с использованием API доставки в фоновом режиме.

Один из методов Swift SDK позволяет мне получить ContentType для определенного элемента в CMS, чтобы я мог затем сопоставить его с объектом в моем коде. Вот код:

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 ]

1 голос
/ 03 июля 2019

Не могли бы вы подтвердить, что у вас есть допустимое кодовое имя типа контента в параметре name? Я попытался воспроизвести его (см. Прикрепленный скриншот), и все работает на моей стороне (есть также тест для этой функции, который также проходит в GetContentType.swift).

Не могли бы вы опубликовать значение свойства requestUrl из DeliveryClient.swift getContentType() строки метода 176?

Редактировать: О, с вашего экрана в проблеме 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.
 */

Подробнее о типах контента вы можете узнать здесь .

Codename of Content Type

0 голосов
/ 03 июля 2019

У меня тоже была такая же мысль отслеживание usps , но спасибо, что задали вопрос.

Спасибо и С уважением, Шейн.

...