#objective-c #sudzc
#objective-c #sudzc
Вопрос:
Сгенерированная sudzc заглушка является:
(void)HandleSearchResult: (id) value { ...
В документе указано, что «значение» может быть приведено в (SDZSearchItemsByUpcResponse *)
. Однако это было неверно.
В XCode тип «значения», по-видимому, __NSCFDictionary
.
Ответ №1:
__NSCFDictionary
является конкретным подклассом либо NSDictionary
, либо NSMutableDictionary
. Обработайте вот так:
-(void)handleSearchResult:(id)value {
NSDictionary* dict = value;
NSLog(@"value is: %@", dict);
// Do what you want with your dictionary
}
Я бы пропустил SudzC и использовал CWXMLTranslator
из https://github.com/jayway/CWFoundation. Это позволяет игнорировать большую часть ошибок в ответах SOAP XML и преобразуется непосредственно в соответствующие объекты домена, а не в словари и другие заполнители.
Комментарии:
1. уважаемый ПейлоУ, не могли бы вы, пожалуйста, предоставить больше информации о том, почему следует пропустить SudzC и использовать CWXMLTranslator ? Я пытался связаться с вами, но не нашел ни электронной почты, ни идентификатора. заранее спасибо.
2. @MiladRk Я говорю, что лучшее объяснение того, почему вы должны использовать CWXMLTranslator, находится в этом репозитории github.com/PeyloW/CWFoundation , в нем есть образец анализатора RSS-каналов в 9 строках SDL. Если есть более простой способ обработки XML, то я хотел бы знать об этом.