ある特定の画面への遷移など、共通の処理を書きたいことはしばしばあります。 下の例はMyViewControllerA及びMyViewControllerBのどちらからもMyViewControllerCへ遷移したい時のコードです。 class MyViewControllerA: UIViewController { // ...省略... func showViewControllerC() { navigationController?.pushViewController(MyViewControllerC(), animated: true) } // ...省略... } class MyViewControllerB: UIViewController { // ...省略... func showViewControllerC() { navigationController
![SwiftのProtocolExtensionでBaseViewControllerの肥大化を解決!そして、必ず抑えておきたいデメリット - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/8e4bce2309e4ef351e687d97863eb02d9add31f0/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZ0eHQ9U3dpZnQlRTMlODElQUVQcm90b2NvbEV4dGVuc2lvbiVFMyU4MSVBN0Jhc2VWaWV3Q29udHJvbGxlciVFMyU4MSVBRSVFOCU4MiVBNSVFNSVBNCVBNyVFNSU4QyU5NiVFMyU4MiU5MiVFOCVBNyVBMyVFNiVCMSVCQSVFRiVCQyU4MSVFMyU4MSU5RCVFMyU4MSU5NyVFMyU4MSVBNiVFMyU4MCU4MSVFNSVCRiU4NSVFMyU4MSU5QSVFNiU4QSU5MSVFMyU4MSU4OCVFMyU4MSVBNiVFMyU4MSU4QSVFMyU4MSU4RCVFMyU4MSU5RiVFMyU4MSU4NCVFMyU4MyU4NyVFMyU4MyVBMSVFMyU4MyVBQSVFMyU4MyU4MyVFMyU4MyU4OCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9N2EzMTMwMGIwOTA0NmI5MjY3YzlhMjUzM2VjNDY3N2U%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQweXVraWFzYWkmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTFkODUxZDlkZTA0NThiN2U3NmNkNWRjMTQyMWZjNWJl%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Db1296575cf45309539cffc449dd148e5)