Why you shouldn’t use delegates in Swift
Marin Benčević

Nice article, callbacks are pretty good and they certainly have their uses, but there are a few good things about delegates:

  • Xcode doesn’t provide code completion for callbacks like it does with actual delegates.
  • As Pham Hoang Le commented, protocol extensions allow default values to be set for optional delegate methods.
  • Sometimes you want a delegate to conform to specific methods and this is where optional callbacks won’t raise a compile time error to warn the developer.