問題タブ [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 投票する
1 に答える
276 参照

swift - Swiftでの単純なコンテナバインディング?

免責事項:私はまだ Swift を学んでいるので、Swift の特定の概念/機能/制限を理解していない場合はご容赦ください。

Swinject フレームワークでは、プロトコルをクラスにバインドする場合、次のようなクロージャーでクラス インスタンスを返す必要があるようです。

代わりに 2 つの型をメソッドに渡しregister()、フレームワークにクラスをインスタンス化させることは可能ですか? もちろん、そのクラスに初期化子の依存関係があるかどうかを再帰的に確認する必要があります(制御の反転)。

これは PHP の世界で可能です。リフレクションの概念があるためです。これにより、依存関係のクラス タイプを取得して、その場でインスタンス化することができます。Swiftにこの機能があるのだろうか?

これを書く方がはるかに良いでしょう:

これにより、コンテナーから任意のクラスを解決し、その依存関係も解決することができます (手動でクラスを登録する必要はありません)。

注:これは、依存関係としてスカラー型をとらないクラスに対してのみ意味があります (もちろん明示的に指定する必要があるため)。

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

swift - Swinject: 任意のオブジェクトのインスタンスを生成します (未登録オブジェクト、ViewModel など)。

Swinject コンテナに登録されていないオブジェクトの新しいインスタンスを解決/作成することは可能ですか? Unity では、c# の依存性注入 (Microsoft から) がそれです。

一部のプロトコルに依存するviewModelクラスを解決したい。例: IFileManager をコンテナーに登録しました。

そして私viewModelはIFileManagerに依存しています

Swinject リゾルバーを使用して AwesomeViewModel の新しいインスタンスを作成したいのですが、すべての依存関係を init に追加したいのですが、うまくいきません。

そしてViewModelはnilです

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

ios - Swinject コンテナーの登録が失敗する

いくつかのプロトコルをさまざまなクラスにバインドしようとしているときnilに、プロトコルに入るという奇妙な動作に遭遇しました。これは、依存性インジェクター クラスです。

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

以下のクラスnilでは、プロトコル プロパティを取得します。

nilネットワーク変数は、ネットワーク変数を使用する他のクラスで常に機能しstoryboardInitCompletedます。

私は何を間違っていますか?

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

ios - Swinject - 1つのリゾルバーから同じコントローラーを2回解決する方法は?

そして... 一番下に TabBarItem が 1 つだけあります。なんで?

このように使用すると:

;) 私の実装では、Swinject の何が問題になっていますか?