Java 2 Objective-C NSArray

标签 java android ios objective-c

我正在使用 java 2 objective-c convector 来创建 iOS 应用程序。这个对流器:http://code.google.com/p/j2objc/

这是我第一次使用 objective-c。所以我无法解决以下问题:

原来我有这条线。

static final short[] ar = new short[]{(short)0, (short)0, (short)1,(short)0};

在 Java2ObjC 之后我得到了这个。编译器在这里给我一个错误(short、int、double 不能转换为 id):

 NSArray * const ar = [NSArray arrayWithObjects:(short)0, (short)0, (short)1, (short)0]

double 值同样的问题。

用值初始化最终静态常量数组的正确方法是什么?

我一直在 windows 中使用 used converter。现在我知道那是错误的。仅在 MacO 中使用 j2ObjC

最佳答案

问题是 NSArray 只能容纳 NSObject 或派生类:

 NSArray * const ar = [NSArray arrayWithObjects:[NSNumber numberWithShort:0], [NSNumber numberWithShort:0], [NSNumber numberWithShort:1], [NSNumber numberWithShort:0], nil];

或使用新的速记符号:

 NSArray * const ar = @[[NSNumber numberWithShort:0], [NSNumber numberWithShort:0], [NSNumber numberWithShort:1], [NSNumber numberWithShort:0]];

或者使用普通的 C 数组:

short const ar[4] = {0,0,1,0};

关于Java 2 Objective-C NSArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19423436/

相关文章:

Java Swing 列表

android - 广播接收器 onreceive 未调用

android - 打开失败 : EACCES (Permission denied)

iOS:将UITableView的起始索引从0改为1显示数组内容

java - java中LinkedList的一个节点类的内存使用(包含实例引用)

java - MVC 架构中的 Rx

膨胀 View 时Android ListView NullPointerException

iphone - 更新框架后 UITextView 不滚动

ios - 单元目标测试构建失败 xcode objective-c

java - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException 未知列