Java到目标c
我的问题是: 我有Java代码需要移植到Objective-C,其中Java到目标c,java,iphone,objective-c,porting,Java,Iphone,Objective C,Porting,我的问题是: 我有Java代码需要移植到Objective-C,其中 Obj[i] is byte[], Buffer is byte[], index is int 在我的目标C中,我宣布 Obj[i] is char** Buffer is char* index is int 我无法转换这行buffer[index]=((Byte)obj[I]).byteValue() 原始java代码 case cw_BYTE_obj: if(obj[i] == null){
Obj[i] is byte[],
Buffer is byte[],
index is int
在我的目标C中,我宣布
Obj[i] is char**
Buffer is char*
index is int
我无法转换这行buffer[index]=((Byte)obj[I]).byteValue()代码>
原始java代码
case cw_BYTE_obj:
if(obj[i] == null){
buffer[index] = 0x00;
index++;
}else{
buffer[index] = 0x01;
index++;
buffer[index] = ((Byte)obj[i]).byteValue();
index++;
}
break;
`首先,为什么obj在java中是字节[],而在obj-c中是字符**?
总之,您希望一个char进入缓冲区[index],而obj[i]是char**,那么可能是指向char*??根据您在obj中输入的内容,您可能需要buffer[index]=*(obj[i])之类的东西 请澄清,张贴原始java代码和移植的目标C代码。如果obj是byte[],为什么不直接分配buffer[index]=obj[i]
?如果它只是(char*),我不能把obj[i]=Null,所以我声明char**如何移植这些代码return data.length!=0?新字节(数据[0]):空代码>我是这样做的,这没有显示正确的结果返回数据长度!=0?malloc(sizeof(char)*数据[0]):空代码>它是java数据
is字节
**在obj C datalenint datalen=sizeof(数据)/sizeof(*数据)中代码>我认为您最好使用cocoa类来完成您要做的事情。在字符上使用NSValue将允许它为零,或者NSData/NSMutableData将允许您拥有一个可以为零的字符数组。
case cw_BYTE_obj:
if(obj[i] == null){
buffer[index] = 0x00;
index++;
}else{
buffer[index] = 0x01;
index++;
buffer[index] = ((Byte)obj[i]).byteValue();
index++;
}
break;