Android 開発の経験がある方であれば、interface をイメージしていただけると理解しやすいと思う。
僕は最初 interface の理解に苦しんだが、コードを書き続けているとなんとなく理解できてきて、自分でも必要なときに interface を実装できるようになった。
それでも、まだまだ綺麗な書き方ではないと思うし、もっと良い書き方があると思う。
では、Android 開発の経験がなく、interface なんて知ったこっちゃないし、swift の デリゲートってなんだよって方に僕なりにわかりやすく説明しようと思う。