次の2つのprotocolの書き方は同じことを表現できていますか? それとも違う意味ですか?
次の2つのプロトコルの書き方は同じことを表現できていますか? それとも違う意味ですか?
ソース1
protocol Hogeable: AnyObject {}
extension Hogeable where Self: UIViewController {}
と
ソース2
protocol Hogeable: UIViewController {}
extension Hogeable {}
ソース1の書き方をよく見るような気がしたのですが、どこかのSwfitのバージョンでソース2の書き方もできるようになったりしましたでしょうか?
上記のコードは空っぽですが、
Hogeableのextension内はUIViewControllerであることが前提のソースコードを書かれていることを想定しています(navigationControllerにアクセスするとか)。