私は平均的な iOS 開発者です。頻繁に使用されている最初のデザイン パターンは、主にコールバック機能に使用されていた Delegation パターンでした。
ブロックがObjective Cにあり、ブロックを頻繁に使用してデリゲートを回避するライブラリがますます増えているので、ブロックはプロトコルを使用したデリゲートパターンの恒久的な代替品ですか?
私は最近、プロジェクトで MKNetworkKit を使用しました。その上にラッパー クラスを作成しました。ライブラリはブロック ベースであるため、ブロック ベースのコードの 1 つへの呼び出しをカプセル化するすべてのコードは、別のブロック ベースのコードになりました。
最初は非常に便利でしたが、コードが複雑に見えたため、デバッグと変更が困難でした (コールバック内のコールバック内のコールバック!)。
いつ何を使用するか、特定のベスト プラクティスに関するヒントはありますか?