可以在Objective c上导入Java模型吗?
我在服务器上有一些Java模型,但在我的iOS应用程序中,我使用的JSON没有序列化程序,因为我的服务器没有Objective-C模型生成器 可以在Objective-C中集成Java模型类吗可以在Objective c上导入Java模型吗?,java,ios,objective-c,json,Java,Ios,Objective C,Json,我在服务器上有一些Java模型,但在我的iOS应用程序中,我使用的JSON没有序列化程序,因为我的服务器没有Objective-C模型生成器 可以在Objective-C中集成Java模型类吗 怎么做?是的,你当然可以,但你会发现你在翻译方面做得更好 以下是逐步说明源: 创建一个名为HeloBo桥的新基金项目 创建一个名为JavaClasses的新纯Java包目标 创建一个名为HelloBridge.Java的新Java类,并将其添加到目标 JavaClass: public class Hel
怎么做?是的,你当然可以,但你会发现你在翻译方面做得更好 以下是逐步说明源: 创建一个名为HeloBo桥的新基金项目 创建一个名为JavaClasses的新纯Java包目标 创建一个名为HelloBridge.Java的新Java类,并将其添加到目标 JavaClass:
public class HelloBridge {
private String string = "Hello";
public void setString(String string) {
this.string = string;
}
public String getString() {
return this.string;
}
public void printString() {
System.out.println(this.string);
}
}
将HelloBridge.java添加到目标中的源代码构建阶段
JavaClass
创建一个名为JavaInterfaces.h的新空文件,并将其添加到
目标海洛布里奇:
// Provide Objective-C interfaces for the Java classes
// Not only good practice, it provides Code Sense
@interface java_util_Vector : NSObject
{}
- (void)add:(id)anObject;
- (id)get:(int)index;
@end
@interface HelloBridge : NSObject
{}
- (void)setString:(NSString *)string;
- (NSString *)getString;
- (void)printString;
@end
修改main.m:
#import <Foundation/Foundation.h>
#import "JavaInterfaces.h"
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// Load the Java VM
id vm = NSJavaSetupVirtualMachine();
// Start the Java class loader
NSJavaClassesFromPath(nil, nil, YES, &vm);
// Load a new instance of the java.util.Vector Java class into an Objective-C pointer
java_util_Vector * vector = NSJavaObjectNamedInPath(@"java.util.Vector", nil);
[vector add:@"one item!"];
NSLog(@"item 1=%@",[vector get:0]);
[vector release];
// Load a new instance of our custom HelloBridge Java class into an Objective-C pointer
HelloBridge * hello = NSJavaObjectNamedInPath(@"HelloBridge", nil);
NSLog(@"item 1=%@",[hello getString]);
[hello setString:@"Test"];
NSLog(@"item 1=%@",[hello getString]);
[hello printString];
[hello release];
[pool release];
return 0;
}
从目标下拉框中选择JavaClass并构建它
从目标下拉框中选择HelloBridge并构建/运行它
哇,有点复杂。无论如何,谢谢你:我告诉过你最好翻译成NSObjects: