問題タブ [swinject]

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 投票する
2 に答える
1075 参照

ios - Swinject 自分のプロパティを新しい UIViewController に注入する

UITableViewControllerie: という名前のクラスのインスタンスをdidSelectRowAtSectionロードする があり、それが のプロパティを持っているため、プロパティインジェクションClassToInjectを介してそれを注入しようとしていると仮定しましょう。次のように単純に準拠します。ViewControllerToBePushedClassToInjectUITabBarViewControllerdidSetviewControllersClassToInjectPresentable

今まで、私は次のようなことをしていました:

そしてSomeTabBarViewController...

そして、すべてがうまく簡単に読み込まれる必要があります (しかし、そうではありません)。について読んだことがSwinjectありますが、これで解決する可能性があります。次のようなものを登録する多くの例を見てきました。

しかし、ロードされているプロパティを登録できるかどうかはわかりませんself:

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

ios - swinject を使用して依存関係を適切に注入する方法

Swinject を使用して依存関係を注入しようとしていますが、何が間違っているのかわかりません。

登録ユーザーを処理するプロトコルがあります。

このプロトコルに準拠するクラスは、すべてのロジックを作成します。

そのため、AppDelegate でコンテナーを登録すると、次のようになります。

ただし、CreateAccountVC authService では空です。どうすればそれを行うことができますか?CreateAccountVC は ViewController のサブクラスです。プロパティとコンストラクターで試してみましたが、常に nil です。

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

ios - 2 つの異なる IOC コンテナからシングルトン インスタンスを解決する方法

私は IOC を初めて使用します。IOC コンテナーを使用するアプリケーションを構築しています。各モジュールには、そのモジュールの外部に公開されていないすべてのモジュール レベルの作業用の 1 つとパブリック アクセスを持つ 1 つの 2 つのアセンブリがあるアーキテクチャを決定することについて話し合っています。外部に公開したい関数。

私の問題は、APPレベルとモジュールレベルで1つずつ2つのIOCコンテナを作成する必要があり、両方に登録したいシングルトンインスタンスがありますが、それらを解決した瞬間、クラスの2つのインスタンスが両方のレベルで作成されましたインスタンスを 1 つだけ取得する方法。

1 つの方法は、Singleton クラスを作成し、別のインスタンスを生成することを禁止することですが、IOC の概念を削除すると思いますが、2 つの IOC コンテナー間でシングルトン インスタンスを解決する方法は他にあります。

ありがとう

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

ios - Swinject を使用してオブジェクト間でオブジェクト インスタンスを共有する

アプリで使用し始めており、 (Viper/MVP) または(Viper ではない)Swinjectの間で rootNavigator のインスタンスを共有したいと考えています。私が抱えている主な問題は、 で共有したいということですが、新しいモジュールを登録すると、そのクラス ( ) の新しいインスタンスが生成されるため、 のインスタンスが失われます。間で共有するにはどうすればよいですか。presentersviewControllersappRootNavigatorpresenterswindowswinjectAppRootNavigatorAppRootNavigatorpresenters

コードのこの部分では、 の を変更しようとしnavigatorましpresenterたが、 if には入りません。

私はそれを行う別の方法を知りません。

これは次のrootNavigatorとおりです。

ここで、使用するすべての要素を登録します。