私はコンテンツを検証するための関数を作成していますが、有効であればビューを閉じ、そうでなければユーザーにさらに指示します。 (または他のそのような行為)私がそれに名前を付けるとき、私はそれを-doneButtonPressed
または-validateViewRepairAndClose
と呼ぶべきであると思っています。 UIアクションの呼び出し後にメソッドの名前を付ける方が良いでしょうか?時にはシンプルなように、-save
のようなものはかなり明確にカットされていますが、具体的な例はすぐにはできませんが、そうした名前を付けたような感じがします。よりよく呼び出すだけでxButtonPressed
ここで、xはボタン上の単語です。IBActionsによって呼び出されることを意図したメソッドの名前を維持するための良い方法はありますか?
答えて
これは大きな問題です。私はこれで眠りを失った。
純粋にFWIW ...私の投票は、 "TheSaveButton" "theButtonAtTheTopRight" "userClickedTheLaunchButton" "doubleClickedOnTheRedBox"などです。
一般的に、このようにすべてのルーチンに名前を付けます。しかし、しばしば私はちょうど別のルーチン "launchTheRocket" "saveAFile"などにまっすぐに行きます。
これは有効であると証明されていますか?それはロケットを自分で起動させたい場合が多いからです。その場合、launchTheRocketルーチンを呼び出し、ユーザーがボタンを押してからロケットを起動するからです。自分でロケットを起動して、userClickedTheLaunchButtonを呼び出すと、気分が悪くなり、コード内でもっと混乱します。 (あなたは画面上のプレスを具体的にシミュレートしようとしていますか?)デバッグなどは、別々になっているのでずっと簡単です。
これは、統計の収集などに多少役立ちます。ユーザーはロケット打ち上げを198回要求しており、全体で273回打ち上げました。
さらに、ロケットを打ち上げるコードの別の部分から打ち上げロケットメッセージを使用してクリンチャーになるかもしれません。それは、あなたが実際にボタンと何かをするのではなく、それを実際に行っていることをはるかに明確にします。逆に、userClickedTheLaunchButtonのコンセプトは、時間の経過とともに変化する可能性があります。通常、ロケットを起動することがありますが、メッセージを表示したり、何を知っているのかが分かります。
実際には、ボタンをクリックすると補助的なもの(おそらくアニメーションなど)が発生し、clickedTheButtonの中でそれを実行するのに最適な場所です。また、gutsy関数 'launchTheRocket'を呼び出します。
私は実際に別々の "userDidThis"機能を持っていて、別の "startANewGame"機能を持っているという、ばかばかしく複雑な解決方法を第三に提唱しています。たとえそれが普通なら、前者はほとんど何もせず、後者を呼び出すだけです!
ところで、別の命名オプションを組み合わせることになる2 ... "topButtonLaunchesRockets" "などglowingCubeConnectsSocialWeb" 最後に
!典型的にはアクションとしてそれらを設定することを忘れないでください。
[theYellowButton addTarget:.. action:@selector(launchRockets) ..];
[theGreenButton addTarget:.. action:@selector(cleanUpSequence) ..];
[thatAnimatingButtonSallyBuiltForUs addTarget:.. action:@selector(resetAll) ..];
[redGlowingArea addTarget:.. action:@selector(tryGetRatingOnAppStore) ..];
これはおそらく、文書的には賢明な方法です。これは最高の質問のひとつです。
また、xButtonPressed:またはhandleXTap:の行に沿って何かを実行し、ハンドラ内から別のメソッドを呼び出します。
- (IBAction)handleDoneTap:(id)sender {
[self closeView];
}
- (void)closeView {
if ([self validate]) {
// save and close
}
else {
// display error information
}
}
- 1. 私はこのように、jQueryのAJAXメソッドから呼び出されたWebメソッドを、持っている
- 2. PowerMockito:コンストラクタによって呼び出されたメソッドをモックする方法は?
- 3. メソッドの呼び出し元をトラッキングする[呼び出しによって呼び出された]
- 4. iOSでデータをダウンロードするためにdidfinshlaunchする前に呼び出せるメソッドはありましたか?
- 5. 静的メソッドからクラスメソッドを呼び出すための「最良の」方法はありますか?
- 6. ジェスチャー認識プログラムのメソッドが呼び出される前に呼び出せるメソッドはありますか?
- 7. リンクされたサーバーからUDFを呼び出すより良い方法はありますか?
- 8. 名前を使用してメソッドを呼び出す方法は?
- 9. transform()を呼び出すときに名前のスペースを保持する方法はありますか?
- 10. メソッドは、常にオブジェクトまたはクラスによって呼び出される必要がありますか? (Java)
- 11. compare()メソッドはmainメソッドで呼び出されずにどのように呼び出されますか?あなたがこの方法を比較する方法を求めていると仮定すると、
- 12. クラスのプロパティが設定されているときにメソッドを呼び出す方法はありますか?
- 13. Form.ShowDialog()を呼び出すより良い方法はありますか?
- 14. dllメソッドの呼び出しまたはコンストラクタにステップインしてソースを尋ねる方法はありますか?
- 15. VisualVM CPUパフォーマンスプロファイリングのために呼び出されるメソッドがありません
- 16. オーバーロードされたオーバーライドされたメソッドを呼び出す方法
- 17. これは、あるメソッドが別のメソッドを呼び出す方法ですか?
- 18. 基本クラスの各派生オブジェクトのメソッドを呼び出すより良い方法はありますか?
- 19. ジャスミン+のテストでは、継承されたメソッドは継承されたメソッドが呼び出されていることをジャスミンをテストするために
- 20. クラスdraw()メソッドは直接呼び出されたときに機能しますが、別のオブジェクトによって呼び出されるとクラッシュします
- 21. Entity Frameworkを使用してストアドプロシージャを呼び出し、WCFから安心して戻るためのより良い方法はありますか?
- 22. 呼び出されたときにのみメソッドを実行する方法は?
- 23. メソッドが呼び出されたときにプログラムによってクラッシュするUIButton
- 24. Funcで実行される呼び出されたメソッドの名前の取得
- 25. これをrails arelクエリに変換する方法はありますか?または、このクエリを実行するためのより良い方法は?
- 26. オーバーライドメソッドが呼び出されたときに(基本クラスの)メソッド呼び出しを強制する方法はありますか?
- 27. NoSuchMethodErrorがloader.loadClass()の呼び出しによって呼び出されました。
- 28. クラスの他のメソッドが呼び出されたときに、クラスのメソッドを呼び出す方法(Ruby)
- 29. アクションが呼び出されたことをアサートする方法
- 30. イベントを呼び出したボタンの名前を取得する最も良い方法は?
私はこの回答が気に入っています。ありがとう。 –