通信中に画面を操作させたくない理由から、マスキングを画面にすることがよくあると思います。 ただNavigationBarを含む場合、単純にself.viewにaddSubviewするだけではNavigationBarまで覆ってくれません。
その対処法としてappDelegate.windowに対しaddSubviewをするという手段もあるのですが、windowに直接Viewを貼り付けするのはバグの温床になるので避けた方が良いです。
記事ではself.navigationController?.viewに対しaddSubviewをすることで、対象画面でのみ処理を完結することに加え、storyboard上に部品を配置する方法で実現しています。普段の開発でstoryboardにView部品を設置している人にとっては馴染みやすい方法なのではと思い、やってみました。
追伸: 今日参加したAKIBA.swiftのAKIBA枠のアニメの話面白かったです(´・ω・`)