問題タブ [j2objc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
688 参照

java - Swift の J2objc で変換された Enum にアクセスする

J2objc を使用して Java を Objective-C に変換します。このコードをブリッジ ヘッダーと共に使用して、Swift で使用できるようにします。これが私が翻訳したJava Enumです:

Objective-C では、次のヘッダー ファイルを取得します (モジュール ファイルはスキップします)。

Swift で列挙型にアクセスするには、次のように呼び出す必要がありました。

Swift で object-c 列挙型にアクセスする簡単な方法はありますか?

0 投票する
3 に答える
1295 参照

java - JavaUtilList を NSArray に変換しますか?

J2objc を使用すると、JavaUtilList があります。

このリストを NSArray に変換したい:

JavaUtilList を Objective-C/Swift NSArray に変換するにはどうすればよいですか?

0 投票する
2 に答える
528 参照

java - アプリの非 Ui 部分からのナビゲーションを処理しますか?

注:アプリ バックエンドについて話すとき、サーバー バックエンドを意味するわけではありません。アプリ バックエンドはアプリの一部です。アプリの非 UI 部分です。

コード設計について質問があります。j2objc の使用 Java は iOS アプリのバックエンドとして使用されますが、フロントエンドはまだ Objective-C です。

このモデルでナビゲーションを制御するのはどの部分 (フロントエンドまたはバックエンド) ですか?

以下を検討してください。最初の ViewController がロードされました。ユーザーがボタンをタップしました。次の 2 つのケースが考えられます。

  1. フロントエンドがジェスチャを受け取り、要求された ViewController を開きます

  2. フロントエンドはジェスチャを受け取り、そのアクションを Java バックエンドに報告します。Java バックエンドは、次に開くページを決定し、どの ViewController を表示するかをフロントエンドに伝えます。

私には、2 番目の解決策は、コード分離の順番でより理にかなっているように思えます。しかし、私に発生した1つの問題があります。アプリに次の ViewController 構造があるとします。

  • 開始ページ:UIViewControllerメイン: UINavigationViewController
  • > メイン-TabPage1:UIPageViewController
  • > メイン-TabPage2:UIPageViewController
  • > Main-TabPage3:UIPageViewController設定: UIViewController

アプリの to レベルをナビゲートする場合は簡単です。フロントエンドにスタートページ、メイン、または設定を開くように指示するだけです。しかし、ボタンをタップして Startpage または Main > Main-TabPage1 から Main > Main-TabPage3 に移動するのは何の役に立つでしょう。次のことを行う必要があります。

  • Startpage を使用している場合: フロント エンドに、Main を確認してから Main TabPage3 を確認するように指示する必要があります。
  • Main > Main-TabPage1 を使用している場合: Main-TabPage3 のみを表示するようにフロント エンドに指示する必要があります。

Java バックエンドから ViewController を明らかにするこのような単純なページ スキームのイベントには、考慮すべき多くのケースがあるようです。

これは、Java バックエンドからビューを公開する有効な方法ですか、それとももっと良い方法はありますか?

0 投票する
2 に答える
723 参照

java - JSON <=> J2objc で適切に変換される Java Object Mapper

org.json.*j2objc ディストリビューションの一部であるクラスを使用します。私の DTO クラスと JSON オブジェクトのマッピングは、これまで手作業で行われてきました。GSOn と Jackson があることは知っています。

J2objc で適切に変換され、変換された Objective-C コードで適切に機能する JSON からオブジェクト マッパーへのライブラリはありますか?

0 投票する
1 に答える
773 参照

ios - j2objcを使用したiText JavaからObjective-cへ

iText Java ソースコードを Objective-c に変換または移植して成功した人はいますか?

まったく可能ですか?

そうでない場合、ios でプログラムによって PDF に署名するにはどうすればよいですか?

0 投票する
2 に答える
373 参照

j2objc - Xcode 6.3 でカスタム ビルド ルールが実行されない

j2Objc Wiki で説明されているように、j2Objc を XCode ビルド ルールのセットアップで動作させようとしています。私が直面している問題は、Java ファイルをコンパイルするために追加したカスタム ビルド ルールがまったく実行されないように見えることです。何かをエコーするだけのあらゆる種類の単純なビルドルールを追加しようとしましたが、ビルドログには何も表示されません。

私のプロジェクトからの参照画像

このアプリは、シンプルな単一ビューの iOS 専用アプリケーションです。

カスタムビルドルールが機能しない理由を理解するのを手伝ってくれる人はいますか?

0 投票する
3 に答える
873 参照

android - クロス プラットフォーム アプリで UI ベースのナビゲーションを処理するには?

クロス プラットフォーム アプリケーションがあるとします。アプリケーションは、Android と iOS で実行されます。両方のプラットフォームで共通の言語は Java です。通常、ビジネス ロジックは Java で記述し、UI 固有の部分はすべて Java (Android の場合) と Objective-C (iOS の場合) で記述します。

通常、クロス プラットフォーム、クロス言語アプリケーションでMVP パターンを実装する場合、Java でモデルとプレゼンターを持ち、プレゼンターに知られているビュー用の Java インターフェイスを提供します。このようにして、共有 Java プレゼンターは、プラットフォーム固有の部分で使用するビューの実装と通信できます。

後で同じ Android アプリと共有できる Java 部分を含む iOS アプリを作成するとします。設計のグラフィカルな表現は次のとおりです。

ここに画像の説明を入力

左側に Java 部分があります。Java では、モデル、コントローラー、およびビュー インターフェイスを記述します。依存性注入を使用してすべての配線を行います。その後、 J2objcを使用して Java コードを Objective-C に変換できます。

右側には、Objective-C の部分があります。ここでUIViewControllerは、ObjectiveC プロトコルに変換された Java インターフェイスを実装できます。

問題:

私が苦労しているのは、ビュー間のナビゲーションがどのように行われるかです。UIViewControllerA にいて、UIViewControllerB に移動するボタンをタップするとします。あなたならどうしますか?

ケース 1:

ここに画像の説明を入力

ボタンのタップを UIViewControllerA の Java ControllerA (1) に報告すると、Java ControllerA は UIViewControllerB (3) にリンクされている Java ControllerB (2) を呼び出します。次に、Objective-C ビュー階層に UIViewControllerB を挿入する方法を Java コントローラー側から知らないという問題があります。View インターフェースにしかアクセスできないため、Java 側からそれを処理することはできません。

ケース 2:

ここに画像の説明を入力

モーダルであるか、UINavigationController などを使用しているかにかかわらず、UIViewControllerB への移行を行うことができます (1)。次に、最初に、Java ControllerB にバインドされる UIViewControllerB の正しいインスタンスが必要です (2)。そうしないと、UIViewControllerB は Java ControllerB (2,3) と対話できませんでした。正しいインスタンスを取得したら、View (UIViewControllerB) が公開されたことを Java ControllerB に伝える必要があります。

異なるコントローラー間のナビゲーションをどのように処理するかというこの問題にまだ苦労しています。

異なるコントローラー間のナビゲーションをモデル化し、クロスプラットフォームのビューの変更を適切に処理するにはどうすればよいですか?

0 投票する
1 に答える
651 参照

java - J2Objc を使用して Java コードを Objective-C に変換する

J2Objc を使用して、Javaでの Unicode実装の圧縮スキームを Objective-C に変換しようとしています。J2Objc を正常にダウンロードしてコンパイル./j2objec /SCSU/*.javaし、Java コードがコンパイルされることを確認してからコマンドを実行しました。それにもかかわらず、私はいくつかのクラス、変数、および関数が未定義であると主に言っているエラーの巨大なブロックを取得しています:

ログは続きます...なぜこのようなエラーが発生するのですか?また、エラーを解決するにはどうすればよいですか?