如何在j2Objc中使用枚举

时间:2016-05-27 04:06:34

标签: j2objc j2objc-gradle

我定义了一个名为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无法解析为类型”。 谁知道原因?

由于

1 个答案:

答案 0 :(得分:1)

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

在j2objc命令行中验证正确的源和类路径的快速方法是在javac命令中使用这些相同的标志,修复任何编译错误,然后在j2objc命令中使用这些相同的路径。要查看Xcode失败的命令,请输入" echo"在构建规则中的j2objc命令前面,构建应用程序,然后展开"运行shell脚本构建规则..."日志条目以查看命令。

命令日志的第二行有一个" cd"命令,打开一个终端窗口并运行该行,以便您在Xcode使用的工作目录中。 键入javac -sourcepath ../../j2ObjcDemon_SharedLib/src/main以及指向其中一个或两个Java源的路径。修复源路径,直到javac可以编译这些文件,然后使用j2objc构建规则中的固定路径。