Как использовать enum в j2Objc

Я определяю перечисление с именем SexType и хочу использовать его следующим образом:

public class People {
    //@Property("copy, nonatomic") protected String location;
   // @Property("copy, nonatomic") protected SexType sex;
   public String name;
   public SexType sex;
   public People(String name){
     this.name = name;
  }

  public String say(String text){
        return this.name + " say:" + text;
  }

public void setName(String name){
    this.name = name;
}

}

На стороне Java он работает нормально, но при переводе в objC произошел сбой, и ошибка: «SexType не может быть преобразован в тип». Кто знает причину?

Спасибо


person Leo    schedule 27.05.2016    source источник


Ответы (1)


j2objc — это компилятор Java (он использует Eclipse JDT в качестве внешнего интерфейса) и требует тех же флагов пути, что и javac. Поскольку "класс не может быть преобразован в тип" является ошибкой компилятора Java, это означает, что флаг -sourcepath, скорее всего, неверен, поскольку именно так компиляторы Java находят типы в других исходных файлах Java.

Быстрый способ проверить правильность исходного кода и пути к классу в командной строке j2objc — использовать те же самые флаги в команде javac, исправить все ошибки компиляции, а затем использовать те же пути в команде j2objc. Чтобы увидеть, с какой командой Xcode не работает, поместите «echo» перед командой j2objc в ее правиле сборки, создайте приложение, а затем разверните запись журнала «Выполнить правило сборки сценария оболочки на ...», чтобы увидеть команду .

Во второй строке журнала команд есть команда «cd», откройте окно терминала и запустите эту строку, чтобы вы находились в рабочем каталоге, который использует Xcode. Введите javac -sourcepath ../../j2ObjcDemon_SharedLib/src/main и путь к одному или обоим источникам Java. Исправьте исходный путь, пока javac не сможет скомпилировать эти файлы, затем используйте фиксированный путь в правиле сборки j2objc.

person tball    schedule 27.05.2016
comment
Я сделал описанные выше шаги, но все равно не удалось скомпилировать javac. - person Leo; 01.06.2016
comment
j2objc — это продвинутый инструмент разработки программного обеспечения, для работы с которым требуется знание Java, iOS и опыт разработки программного обеспечения для командной строки. Если вы новичок в разработке Java, использование j2objc не рекомендуется. - person tball; 04.06.2016