如何在 j2Objc 中使用枚举

How to use enum in 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 cannot be resolved to a type"。 谁知道原因?

谢谢

j2objc 是一个 Java 编译器(它使用 Eclipse 的 JDT 作为其前端),并且需要与 javac 相同的路径标志。由于“class 无法解析为类型”是一个 Java 编译器错误,这意味着 -sourcepath 标志可能不正确,因为这就是 Java 编译器在其他 Java 源文件中定位类型的方式。

在 j2objc 命令行中验证正确源和 class 路径的快速方法是在 javac 命令中使用相同的标志,修复任何编译错误,然后在 j2objc 命令中使用相同的路径。要查看哪个命令 Xcode 失败,请在其构建规则中的 j2objc 命令前面放置一个 "echo ",构建应用程序,然后展开 "Run shell script build rule on ..." 日志条目以查看该命令.

命令日志的第二行有一个"cd "命令,打开一个终端window和运行那一行所以你在工作目录Xcode中使用. 输入 javac -sourcepath ../../j2ObjcDemon_SharedLib/src/main 和一个或两个 Java 来源的路径。固定源路径,直到 javac 可以编译这些文件,然后在 j2objc 构建规则中使用固定路径。