問題タブ [typhoon]
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.
typhoon - 台風はじめました
Typhoon のドキュメントで使用されている用語が理解できません。
したがって、基本的に a を定義しているように見えますがTyphoonAssembly
、これにはすべてのオブジェクトが含まれています。TyphoonDefinition
次に、オブジェクトをインスタンス化する方法を記述するために、1 つ以上の が作成されます。これらの定義は実装で実行されると想定しています。ただし、これらはドキュメントのセクションのTyphoonDefinition
下にあります。Types of Injections
Spring などの他の iOC コンテナーを使用する場合、注入という用語は、構成されたコンポーネントを依存オブジェクトに提供するプロセスを指し、iOC コンテナー自体に注入するのではありません。
ドキュメントの理解が間違っていますか、それとも用語の使用方法が異なっていますか?
typhoon - Typhoon ストーリーボードの統合
アプリケーションで StoryBoard を使用しています。Typhoon の統合を初めて開始したとき、次のようにアセンブリを plist にリストしました。
AppDelegateに注入していたので、これはうまくいきました。
ここで、さまざまなビュー コントローラーに挿入する必要がある場合は、アプリケーションの plist ファイルからUILaunchStoryboardName
andを削除し、次のように使用する必要があるようです。UIMainStoryboardFile
TyphoonStoryboard
ただし、どこで入手するか混乱していTyphoonComponentFactory
ます。plist に既にアセンブリをリストしているので、どうにかしてそれを使用できますか?
ios - Typhoon - アプリケーション全体で 1 つのコンポーネント ファクトリを使用する
ストーリーボードの最初のコントローラーをインスタンス化するために使用される plist の初期アセンブリを構成しています。
アプリの後半で、次を使用してルート ビュー コントローラーを変更しています。
新しいビュー コントローラーをインスタンス化するときに、同じアセンブリを使用したいと考えています。その理由は、シングルトンをシングルトンのままにしたいからです。アセンブリ/ファクトリが変更されると、シングルトンを含むすべてのクラスが再度作成されます。
ストーリーボードの最初のView Controllerを初期化するためにファクトリを使用するにはどうすればよいですか?
typhoon - Typhoon - ストーリーボードを使用したランタイム構成可能なコンポーネント
アプリケーションが起動すると、他の依存関係を構成するために必要な情報 (URL など) を含むリモート構成ファイルをフェッチします。
リモート構成をフェッチした後、Config
他の に提供する必要があるオブジェクトがありますTyphoonDefinition
。
現在、plist ストーリーボード統合も使用しています。
私は元々、Config オブジェクトをロードする ViewController にアセンブリを挿入するという道をたどっていました。リモート構成を受け取って Config オブジェクトを作成すると、アセンブリのプロパティとして何らかの方法で設定していました。定義でプロパティを使用できることを期待してこれを行いましたが、これは機能せず、次のようになりました。
実行時にオブジェクトをアセンブリに挿入する方法はありますか?
私がやろうとしていることを行うためのよりクリーンな方法はありますか?
私が必要としているように聞こえるランタイム引数について読んでいましたが、ドキュメントを本当に理解していません。
たとえば、私はこれを定義として持っています。ランタイム Config オブジェクトをパラメーターとしてコンストラクターに渡す必要があります。
github - エラーキー Project Typhoon
プロジェクト「Typhoon-example」を github からダウンロードしました。
キーを挿入したいのですが、非常に長いキーを思い浮かべます。
プロジェクトでは、キーは 24 文字で形成され、私のキーは 40 文字です。プロジェクトにキーを挿入すると、アプリがクラッシュします。私は worldweatheronline.com に無料のアカウントを持っています。
私は何をしますか?
swift - 追加のプロパティ注入によるファクトリの初期化
私のデモ プロジェクトでは、View Controller の手動作成をアセンブリ内のファクトリ ベースの作成に置き換えました (Jasper Blues がここで示したように: https://stackoverflow.com/a/24227246/397898 ) 。
ただし、View Controller にはまだ他の依存関係が必要です。これを行うときにどのようにプロパティを注入できますか?
そして、実際には 2 つの質問があります。このようにビュー コントローラーを使用しようとすると、すべての IBOutlets が nil になります。何か不足していますか?
ジャスパーの回答に基づく正解
dependency-injection - View Controller イニシャライザでストーリーボードを使用する Typhoon
ストーリーボードを使用して「子」という名前のビュー コントローラーを作成したいので、次のように定義します。
子View Controllerを含むルートView Controllerがあります
最後の部分は、子ビュー コントローラーの依存関係を挿入するだけです。
非常に正常です。イニシャライザを使用しているだけですが、呼び出されることはありません。initWithCoder:
絵コンテに指定されたものを常に使用しているからだと思います。
質問:
- ストーリーボードでView Controllerイニシャライザを使用することは可能ですか? appDelegate に似た no のように見えます。
- これは、ストーリーボードをアセンブリから直接使用する最も簡単な方法ですか?
- 複数のストーリーボードがある場合、ストーリーボードをパラメトリックに定義する方法はありますか? のようなもので終わりたくありません
storyBoard1, storyBoard2, ..., storyBoardN
。
前もって感謝します。
swift - Typhoon と Swift を使用してストーリーボードからビュー コントローラーを挿入する
TyphoonとSwiftを使用してUIStoryboardからインスタンス化されたUIViewControllerを注入する適切な方法は何ですか?
どちらのサンプル アプリにも明確な例が見つかりません。ドキュメントから Objective C コードを翻訳すると、例外がスローされます。
以下は、私の AppAssembly のコードです。
そして、これはスローされる例外です:
「Swift の動的キャストが失敗しました」は、Objective C を使用して可能だったことが Swift では不可能であると私に信じさせます。
誰もこれを機能させることができましたか?どんな援助でも大歓迎です。このライブラリは本当に素敵で、私は本当にそれを使いたいと思っています。