問題タブ [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.
swift - SwInject を中央のオブザーバー パターンと組み合わせて使用する
SWInject を使用してアプリの依存関係を維持し、Coordinator パターンを使用してロジックと依存関係を管理しています。
SWInject は、アプリのさまざまな部分に複数のオブザーバーがある集中型プッシュ通知フレームワークと組み合わせて使用できますか?
通常、私は Singleton クラスでそれを行いますが、それを行うと、依存性注入パターンを使用する目的が無効になるようです。
ios - 「.inObjectScope(.Container)」がシングルトンを生成せずにSwinjectモデルクラスが登録されるのはなぜですか?
この質問は、Swinject for Swift の経験が豊富な人向けです。
問題のあるコードを示します。私の質問は一番下にあります。
かなり多くのコードがあります。申し訳ありません。
これはMySwinjectStoryboard.swift
登録です:
これはStopwatch.swift
、onComplete ハンドラーを起動する前にしばらく一時停止するだけです。
ImageService.swift
init
現在、関数を介してシグナルとストップウォッチ プロパティを受け入れるだけです。
SignalsService.swift
現在、空の Model クラスです:
現在、注入されたプロパティを受け入れるだけのStartUpViewController.swift
基本的なものです。UIViewController
最後にgetPrivateKey()
、一意の Int を返す単純なグローバル スタティックです。
私が理解しているように、私が登録Stopwatch.swift
した方法MySwinjectStoryboard.swift
は、インスタンスが注入されるたびに、新しい個別のインスタンスになることを意味します。ただし、 と の両方ImageService.swift
にStartUpViewController.swift
同じインスタンスが挿入されています。
ImageService
のキーは次のようになります。
なぜこれが起こっているのか知っている人はいますか?ありがとうございました。
swift - パラメータのない Swinject サービス クラスが Swift 3.0 の .container スコープに登録できない: なぜですか?
私は非常に単純なプロトコルを作成しました:
とサービス:
そして、次のSwinject
登録が機能します。
しかし、次のものはそうではありません:
与えられたエラーは次のとおりです。
興味深いことに、次のように機能します (つまり、パラメーターを持つサービスをスコープに登録できます)。.container
私はこの同様の質問を読みましたが、役に立たなかった: Swinject - Ambiguous reference to member
よろしくお願いします。
ios - Swinject の異なる ViewController での依存性注入の不一致、Swift 3.0 の更新後: なぜですか?
私はいくつかのSwinject
singleton-with-a-small-s (.container) サービスを登録しています:
それらをいくつかのView Controllerに挿入すると、次のようになります。
これらのビュー コントローラーは、次のSomeViewController
ように 2 つの異なる方法で表示されます。
そしてAnotherViewController
、このように:
SomeViewController
サービスが注入されますが、残念ながらAnotherViewController
そうではありません。
これはSwinject
、 が Swift 3.0 にアップグレードする前は機能していましたが、現在は機能していません。これはなぜですか、何を変更する必要がありますか?
ありがとうございました。
アップデート
残念ながら、私は の基礎となるコード ベースに精通してSwinject
おらず、自分自身を理解する時間もありませんが、表面下で何が起こっているかを掘り下げて、次のことを発見しました。
成功した VC DI:
失敗した VC DI:
その他の注意事項:
失敗した VC は、TabBarController 内の UIViewController であり、どちらも標準の XCode ストーリーボードに既に配置されています。
swift3 - Swift 3.0.1 の Swinject
現在、Swinject/Swinjectは swift 3.0 をサポートしています。
Swift 3.0.1 はいつサポートされますか?
誰でも何か考えがありますか?
ios - swinject - IOS - Swit - xib ファイルにあるビューコントローラーを提示 = クラッシュ
Swift 3 で swinject を使用しています。.xib ファイルにある別のビュー コントローラーである現在のビュー コントローラーに表示しようとしています。
swinject を使用しないプロジェクトで実行すると、機能します。私のプロジェクトでは、swinject を使用するとクラッシュします: libc++abi.dylib: 型 NSException のキャッチされない例外で終了します
ビューコントローラーを定義するために使用するコードは次のとおりです。
現在のviewControllerにtestViewControllerを表示しようとする方法は次のとおりです(たとえば、ボタンをクリックしたIBActionで):
成功せずに別のソリューションを試しました。swinject を削除することはできません (この選択は私のものではありません)。さまざまなステップで表示するビューコントローラーがたくさんあるため、.xib ファイルを使用する必要があります。
助けてくれてありがとう。オリビエ