問題タブ [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.
ios - Swinject 自分のプロパティを新しい UIViewController に注入する
UITableViewController
ie: という名前のクラスのインスタンスをdidSelectRowAtSection
ロードする があり、それが のプロパティを持っているため、プロパティインジェクションClassToInject
を介してそれを注入しようとしていると仮定しましょう。次のように単純に準拠します。ViewControllerToBePushed
ClassToInject
UITabBarViewController
didSet
viewControllers
ClassToInjectPresentable
今まで、私は次のようなことをしていました:
そしてSomeTabBarViewController
...
そして、すべてがうまく簡単に読み込まれる必要があります (しかし、そうではありません)。について読んだことがSwinject
ありますが、これで解決する可能性があります。次のようなものを登録する多くの例を見てきました。
しかし、ロードされているプロパティを登録できるかどうかはわかりませんself
:
ios - swinject を使用して依存関係を適切に注入する方法
Swinject を使用して依存関係を注入しようとしていますが、何が間違っているのかわかりません。
登録ユーザーを処理するプロトコルがあります。
このプロトコルに準拠するクラスは、すべてのロジックを作成します。
そのため、AppDelegate でコンテナーを登録すると、次のようになります。
ただし、CreateAccountVC authService では空です。どうすればそれを行うことができますか?CreateAccountVC は ViewController のサブクラスです。プロパティとコンストラクターで試してみましたが、常に nil です。
ios - 2 つの異なる IOC コンテナからシングルトン インスタンスを解決する方法
私は IOC を初めて使用します。IOC コンテナーを使用するアプリケーションを構築しています。各モジュールには、そのモジュールの外部に公開されていないすべてのモジュール レベルの作業用の 1 つとパブリック アクセスを持つ 1 つの 2 つのアセンブリがあるアーキテクチャを決定することについて話し合っています。外部に公開したい関数。
私の問題は、APPレベルとモジュールレベルで1つずつ2つのIOCコンテナを作成する必要があり、両方に登録したいシングルトンインスタンスがありますが、それらを解決した瞬間、クラスの2つのインスタンスが両方のレベルで作成されましたインスタンスを 1 つだけ取得する方法。
1 つの方法は、Singleton クラスを作成し、別のインスタンスを生成することを禁止することですが、IOC の概念を削除すると思いますが、2 つの IOC コンテナー間でシングルトン インスタンスを解決する方法は他にあります。
ありがとう
ios - Swinject を使用してオブジェクト間でオブジェクト インスタンスを共有する
アプリで使用し始めており、 (Viper/MVP) または(Viper ではない)Swinject
の間で rootNavigator のインスタンスを共有したいと考えています。私が抱えている主な問題は、 で共有したいということですが、新しいモジュールを登録すると、そのクラス ( ) の新しいインスタンスが生成されるため、 のインスタンスが失われます。間で共有するにはどうすればよいですか。presenters
viewControllers
appRootNavigator
presenters
window
swinject
AppRootNavigator
AppRootNavigator
presenters
コードのこの部分では、 の を変更しようとしnavigator
ましpresenter
たが、 if には入りません。
私はそれを行う別の方法を知りません。
これは次のrootNavigator
とおりです。
ここで、使用するすべての要素を登録します。