我正在为一个项目使用 J2ObjC。我确实设置了所有内容并包含了我的 Java 类。
唯一需要注意的是,我必须禁用 ARC,否则我的 Java 代码库将无法转译/编译。(J2ObjC 本身建议禁用 arc)
由于我无法仅禁用生成的文件,因此我在 Project Inspector -> Target -> Build Settings -> Apple LLVM 8.0 - Language - Objective C -> Objective-C Automatic Reference Counting 中从 Objective-C 禁用了它(否)
然后我在 Swift 中创建了我的 ViewController,并毫无问题地实例化了从 Java 转译的类(生成的 .h 文件的标头包含在桥接头中),并且我不必在 Obj-C 中做任何我应该做的 dealloc/release没有 ARC 的 VC。
这是正常的/泄漏安全的吗?泄漏安全是指如果我实例化一个转译的类对象,在引用计数减少后,它会像 ARC 一样自动释放(我知道 Swift 中不能禁用 ARC)。
我知道我仍然需要注意 Java 类中的引用循环,但这不是我所说的泄漏安全的意思。