2016-11-03 17 views
17

個人的には簡単な論理的な相関のためにSwiftの代理人よりもコールバックが好きです。それはかなり簡単で理解しやすいからです。同時に、代議員はC#のような他の言語でよく使われるパターンなので、委任を好む人もいます。iOS Swift:クロージャ(コールバック)とデリゲートのどちらを使用するのですか?

私はオンラインで見つけるいくつかの議論があります:「?あなたはスウィフトにデリゲートを使用してはならないのはなぜ」

1. https://medium.cobeisfresh.com/why-you-shouldn-t-use-delegates-in-swift-7ef808a7f16b#.hqb7zrc1v

2. Appleはより多くのコールバックパターン ​​

3.ブロックまたは代表者にその焦点をシフトしていますか? http://blog.stablekernel.com/blocks-or-delegates/

これらの議論を読んだ後、私はまだ未定です。 いつ私は閉鎖を使用する方が良いと思うときに、いつ代理人を使用する方が良いですか?理由は?

ありがとうございます!

+0

あなたの質問には客観的な答えがなく、間もなく終了しますので、特定の問題を最もよく解決するものを使用してください。 – rmaddy

+0

@rmaddyご意見ありがとうございます。より具体的に質問を更新します。実際には、このような質問と同じ性質です:http://stackoverflow.com/questions/27703913/which-c-sharp-pattern-has-better-performance-to-avoid-duplicated-event-handlers – RainCast

答えて

16

(意見に基づく質問のオピニオン基づいて回答)の質問が優れているではありません

、それは私が解決しようとしている問題のための最善の解決策何でなければなりません。

私の単純なルール:何かがインターフェイスとして1つの関数を必要とする場合、通常はコールバックが良い解決策です。複数の機能が必要な場合、特にオブジェクトの基本機能に必要な機能がある場合は、代理人がおそらくより優れたソリューションです。

これは具体的な状況によって異なりますが、実際の使用では絶対的な記述はほとんどありません。

+0

私はこれが良い点。ありがとう! – RainCast

関連する問題