0

プロジェクトに J2ObjC を使用しています。私はすべてをセットアップし、Java クラスを含めました。

唯一の注意点は、ARC を無効にする必要があったことです。そうしないと、Java コードベースがトランスパイル/コンパイルされないためです。(J2ObjC 自体は arc を無効にすることをお勧めします)

生成されたファイルのみを無効にすることはできなかったので、Project Inspector -> Target -> Build Settings -> Apple LLVM 8.0 - Language - Objective C -> Objective-C Automatic Reference Counting (No )

次に、Swift で ViewController を作成し、Java からトランスパイルされたクラス (ブリッジ ヘッダーに含まれる生成された .h ファイルのヘッダー) を問題なくインスタンス化しました。 ARC のない VC。

これは正常/漏れ防止ですか? リークセーフとは、トランスパイルされたクラスオブジェクトをインスタンス化すると、参照カウントが減少した後、通常の ARC として自動的に割り当てが解除されることを意味します (Swift で ARC を無効にできないことはわかっています)。

Java クラスの参照循環に気をつけなければならないことはわかっていますが、それはリークセーフという意味ではありません。

4

1 に答える 1