問題タブ [target]
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.
iphone - Objective-c 非同期通信: ターゲット/アクションまたは委任パターン?
いくつかの非同期通信状況 (イベント駆動型 XML 解析、NSURLConnection 応答処理など) を扱っています。私の問題を簡単に説明しようとします:
私の現在のシナリオでは、サービス プロバイダー (xml パーサーと通信したり、ネットワーク通信を行ったりすることができます) と、サービス プロバイダーにタスクの一部を非同期で実行するように依頼できるクライアントがあります。このシナリオでは、サービス プロバイダーが処理を終了したときに、結果をクライアントに返す必要があります。
この種のものを実装するための一種のパターンまたは経験則を見つけようとしていますが、3つの可能な解決策があります。
1. 委任パターンを使用します。クライアントはサービス プロバイダーの委任であり、タスクの完了時に結果を受け取ります。
2. ターゲット/アクション アプローチを使用します。クライアントはサービス プロバイダーにタスクを実行するように要求し、タスクの完了後にサービス プロバイダーによって呼び出される必要があるセレクターを渡します。
3. 通知を使用します。
(更新) ソリューション #2 (ターゲットとアクション) をしばらく試した後、私の場合は委任アプローチ (#1) を使用する方がよいという結論に達しました。私が見ているように、ここに各オプションの長所と短所があります:
委任アプローチ:
1 (+)オプション 1 の利点は、クライアントがサービス プロバイダーのデリゲート プロトコルを実装する必要があるため、コンパイル時のエラーをチェックできることです。
1 (-)これは、デリゲート プロトコルを実装する必要があるため、クライアントがサービス プロバイダーと密結合になるため、欠点でもあります。
1 (+)これにより、プログラマーはコードを簡単に参照して、サービス プロバイダーが呼び出して結果を渡すクライアントのメソッドを見つけることができます。
1 (-)クライアントの観点からは、サービス プロバイダーが結果を取得した後、どのメソッドが呼び出されるかを見つけるのはそれほど簡単ではありません。デリゲート プロトコル メソッドに移動するだけで簡単ですが、#2 のアプローチはより直接的です。
1 (-)もっとコードを書く必要があります: デリゲート プロトコルを定義して実装します。
1 (-)また、委任パターンを使用して、実際に動作を委任する必要があります。このシナリオは、意味的に言えば、委任の正確なケースではありません。
アクション/ターゲットアプローチ
2 (+)オプション 2 の利点は、サービス プロバイダー メソッドが呼び出されるときに、コールバック アクションを指定する @selector も指定する必要があるため、プログラマーは結果を処理するために呼び出されるメソッドをその場ですぐに知ることができることです。
2 (-)これに対して、サービス プロバイダーのコードを参照しているときに、クライアントでどのメソッドがコールバックされるかを見つけるのは困難です。プログラマーは、サービス呼び出しに移動して、どの @selector が渡されているかを確認する必要があります。
2 (+)より動的なソリューションであり、パーツ間の結合が少なくなります。
2 (-)おそらく最も重要なことの 1 つは、クライアントが存在しないセレクターをサービス プロバイダーに渡すことができるため、実行時エラーや副作用が発生する可能性があることです。
2 (-)シンプルで標準的なアプローチ (#performSelector:withArgument:withArgument:) を使用すると、サービス プロバイダーは最大 2 つの引数しか渡すことができません。
通知:
- 通知は、複数のオブジェクトを更新する必要がある場合に使用することになっているため、選択しません。また、この状況では、デリゲート/ターゲット オブジェクトに、結果が構築された後に何をすべきかを直接伝えたいと思います。
結論: この時点では、委任メカニズムを選択します。このアプローチにより、安全性が向上し、コードを簡単に参照して、デリゲートにサービス プロバイダー アクションの結果を送信した結果を追跡できます。このソリューションのマイナス面は次のとおりです。より静的なソリューションであり、より多くのコード (プロトコル関連のもの) を記述する必要があり、意味的に言えば、サービス プロバイダーは何も委任しないため、委任については実際には話していません。 .
何か不足していますか?何をお勧めしますか?その理由は何ですか?
ありがとう!
iphone - iPhone ターゲット リンク エラー
したがって、ビルド時に次のエラーが発生します。
これは明らかにリンクと関係がありますが、正確にはわかりません。2 つのターゲットがあり、デバイス ターゲット用にコンパイルしたときにのみこのエラーが発生します (他のターゲットはシミュレーター用です)。各ターゲットのリンク設定を比較しましたが、すべて問題ないようです。
InfoView は、プロジェクトに追加した最後のクラスです。
visual-studio-2008 - Visual Studio からビルドする場合、他の実行前にターゲットを実行する
特定の最上位プロジェクト (多くの依存関係がある) をビルドするときにのみ実行する、1 回限りのコストのかかるターゲットを取得しようとしています。
プレーンなmsbuild/コマンドラインビルドからこれを機能させることに問題はありません。私はこれをプロジェクトの設定と InitialTargets で行うか、代わりに
<ビルド前/>。
注意が必要なのは、Visual Studio の場合です。VSから同じプロジェクトをビルドすると. VS は、.csproj を呼び出す前に依存関係を実行するため、ターゲット (他のプロジェクトのビルド方法に影響を与える) は、ビルドが完了するまで実行されません。
依存関係を呼び出す前にVSにターゲットを強制的に実行させる方法はありますか?
私は現在、次を使用して、最も低レベルのプロジェクト (常にビルドされるプロジェクト) から同じコストのかかるターゲットを実行することで、これを回避しています。
条件=" $(BuildingInsideVisualStudio) "
これを「適切に」行う方法についてのアイデアはありますか? 繰り返しますが、VS から機能するソリューションを探しています。
html - 新しいウィンドウか新しいタブか -- どちらにするか?
リンクで、新しい _blank ウィンドウが実際に新しいウィンドウか新しいタブかを指定する方法はありますか?
ありがとう
iphone - iPhoneアプリの最小OS要件を変更しますか?
簡単な申し込みをして、審査のために提出しました。その後、アプリの詳細では、OSの最小要件は3.1.2であると主張しています(私はそのSDKを使用しています)。
ターゲットのiPhoneOS展開ターゲットをより低いiPhoneOSに変更した場合、問題を「修正」できますか?リスクはありますか?いくつかのUI(Image)ビュー、ページめくりアニメーション、NSTimer、バッテリー情報用のUIDevice、およびAudioToolboxフレームワークを使用して、すべてのシステムサウンドを作成します。
2.0シミュレーターでアプリをテストするにはどうすればよいですか?インストールする場所はどこにありますか?2.0 SDK全体をインストールする必要がありますか?どこで見つけることができますか?私はそれをグーグルで検索しましたが、それでも見つけることができません。
iphone - 2.2 デバイスで非推奨の 2.2 関数呼び出しの代わりに iPhone OS 3.0 関数呼び出しを使用する
iPhone アプリの Base + Active SDK を 3.0 に、Deployment Target を 2.2 に設定した場合、2.2 デバイスで新しいバージョンの関数を使用できますか?
たとえば、UITableViewCell
現在では を使用して画像を設定する必要がありますが[cell.imageView setImage:image]
、2.2 では を呼び出す必要がありまし[cell setImage:image]
た。[cell.imageView setImage:image]
2.2 デバイスで新しいクラッシュを使用しますか?
javascript - アンカータグのJavascriptとhref
JavaScriptは、通常の「href」によって開かれたウィンドウのターゲット名を確認できますか。次に例を示します。
c# - ターゲットのしきい値内で画像の動きを簡単に停止する方法
私はすでに自分がしようとしていることを他の人に説明しようとしましたが、ひどく失敗しました. したがって、失礼を承知で、コードを示して少し説明します。
そこにそれがある。「ペット」に関するすべての言及について疑問に思っているなら、私は妹のためにタモゴッチ (またはあなたがどのように綴っても) のようなゲームを作っています.
私が抱えている問題は、MovePetSlope[1] または [0] の値が正または負のいずれかになる可能性があることです。正の値で機能する比較をいくつか思いつきましたが、負の値では機能しません。今の状態では、まったく機能していないと思います。
どんな助けでも大歓迎です。
前もって感謝します!
asp.net - サーバーサイドでターゲット コントロールをバリデータ コントロールに割り当てる方法
動的に生成される N 個のテキスト ボックスがあります。Format HH:MM:SS PM/AM の各テキスト ボックスを検証したいので、検証コントロールを動的に作成します。しかし、動的テキストボックスにはIDがないため、 ControlToValidate プロパティの検証コントロールに何を渡す必要がありますか?
iphone - テスト用に物理 iPod をセットアップした後、iPhone シミュレーターで iPhone アプリをビルドするために Xcode を取得しますか?
私はiPhone用のアプリを開発するのが初めてです。先日、開発者アカウントを適切に設定して、物理的な iPod でプログラムをテストできるようにするプロセス全体を行ったところです。ただし、一度セットアップすると、iPhone シミュレーターを再び機能させる方法がわかりませんでした。シミュレーターでプログラムをすばやくテストしてから、物理デバイスでメジャー リビジョンを定期的にテストしたいと考えています。テストするコンパイル済みプログラムのターゲットを調整するにはどうすればよいですか? 任意の洞察をいただければ幸いです。お時間をいただきありがとうございます。