常见问题解答 (FAQ)
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
我在使用 Xcode 进行构建时遇到问题。
请参阅调试构建问题。
如何在构建时修复“未定义的符号”错误?
请参阅必需关联设置。
我在命令行中使用 j2objc 时遇到问题。
想 j2objc 命令行的最快方法是从 javac 开始,指定类路径(可选)、源路径(可选)、输出目录和源文件列表。成功编译后,请将“j2objc”替换为“javac”,并添加任何特定于 j2objc 的标志。这样做的原因是 j2objc 将 Java 编译器用作前端,因此使用与编译器相同的参数。请记住:如果不能编译,就无法进行翻译!
垃圾回收如何处理?
请参阅内存管理。我们会使用 Xcode 的泄露检测和分析工具,继续优化生成的代码,以改进内存的管理方式。我们建议让使用 J2ObjC 的项目也监控性能和泄露检测(就像所有 iOS 项目一样),并报告发现的任何问题。
如何缩减转换后代码的大小?哪些做法可以提高翻译速度?
请参阅死代码消除。
j2objc 如何处理 .java 文件中的导入?
j2objc 使用 javac 编译器作为其前端,因此系统会像任何 Java 编译器一样读取所有导入。如需指定查找导入类的位置,请使用与 javac 相同的 -classpath 和 -sourcepath 选项。生成 Objective-C 文件时,系统会收集外部类引用,并视情况将 #import
指令添加到生成的头文件 (.h) 或实现 (.m) 文件中。
为什么数字类型的某些最小值和最大值与 Java 规范不同?
这些值与 Java 返回的值不同,因为它们不在 Objective-C 编译器会接受的范围之内。而是使用 /usr/include/values.h 中定义的最小值和最大值。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-07-12。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-07-12。"],[[["This page provides troubleshooting information for common issues encountered when using j2objc, such as Xcode build problems and command-line usage."],["Users can find guidance on resolving \"undefined symbol\" errors, managing memory and garbage collection, and reducing translated code size."],["The document explains how j2objc handles imports, mirroring the behavior of the javac compiler for class resolution and utilizing `#import` directives in generated Objective-C files."],["It addresses discrepancies in numeric type limits, attributing them to differences between Java specifications and Objective-C compiler constraints, with values sourced from /usr/include/values.h."]]],[]]