wsdl2objc Ошибка NSString - PullRequest
       6

wsdl2objc Ошибка NSString

0 голосов
/ 26 марта 2011

В mi wsdl2objc сгенерированный код у меня:

@interface tns6_EntityType : NSString  {

/* elements */
/* attributes */
    NSNumber * id_;
}

Однако, когда я получаю элемент этого типа, я получаю следующую ошибку:

2011-03-26 21: 23: 02.428 Pez [47129: a0f] Исключение обнаружено при обработке ввода с клавиатуры.

2011-03-26 21: 23: 02.428 Pez [47129: a0f] * -длина определена только для абстрактного класса. Определите - [длина tns6_EntityType]!

Кто-нибудь знает, как это исправить?

Спасибо

Ответы [ 2 ]

0 голосов
/ 24 января 2014

У меня была такая же проблема при создании кода wsdl для objC.

Мое решение этой проблемы вы можете найти здесь: https://stackoverflow.com/a/21331422/1891772.

В моем примере я использовал ARC. Как я знаю, wsdl2objc не поддерживает ARC, поэтому вам нужно изменить его в моем примере:

  1. Заменить в свойстве "stringHolder" "strong" на "сохранить"
  2. добавить «autorelease» в строку кода, где инициализировано свойство «stringHolder»
  3. добавить "self.stringHolder = nil" в методе dealloc
0 голосов
/ 26 марта 2011

Похоже, вам нужно добавить собственную реализацию для -length в классе tns6_EntityType.Помните, что в Objective-C NSString является абстрактным родителем кластера класса , и поэтому его непосредственное наследование может иногда иметь странные последствия.Если вы продолжаете получать подобные ошибки, просто прочитайте сообщение и следуйте его указаниям.

...