Method Swizzlingは、既存のメソッドの実装を、自前の実装に差し替えるための手法です。 ・・・ということを知ってはいても、どういうときに使うと便利なのかイマイチわかってなかったので、Method Swizzlingをうまく使った実用例を2つほど探してきました。 実用例その1:既存ソースコードに手を入れずに機能追加 xib ファイルのローカライズを IB 上でできるようにする AutoNibL10n 通常、xibで作成したUIをローカライズする場合、 xibファイルを言語ごとに用意する アウトレットを定義してプログラム側からローカライズした文言をセットする といった面倒な作業が必要でしたが、AutoNibL10n を使用すると、xibファイルを IB から直接多言語対応できるようになります。 たとえば、RootViewController.xibというファイルがあり、その中のUI
![Method Swizzling をうまく使っている実用例 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/7aa5f5a5fd9045b3da61b2190751f2451de7f5b5/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-7940cd1c8db80a7ec40711d90f43539e.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9TWV0aG9kJTIwU3dpenpsaW5nJTIwJUUzJTgyJTkyJUUzJTgxJTg2JUUzJTgxJUJFJUUzJTgxJThGJUU0JUJEJUJGJUUzJTgxJUEzJUUzJTgxJUE2JUUzJTgxJTg0JUUzJTgyJThCJUU1JUFFJTlGJUU3JTk0JUE4JUU0JUJFJThCJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1hZmU3ZjYxOWQzZjA3YzcxMTc0ZmE3ODVlYTM4ZWQ4MQ%26mark-x%3D120%26mark-y%3D96%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9OTcyJnR4dD0lNDBzaHUyMjMmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTQzNzNjMmUzMzBmNDUyODgwM2ZjMjk5ODcyM2E5NjU5%26blend-x%3D120%26blend-y%3D445%26blend-mode%3Dnormal%26txt64%3DaW4g44Ko44Oz44K444OL44Ki44Go5Lq655Sf44Kz44Of44Ol44OL44OG44Kj%26txt-width%3D972%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%25233A3C3C%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D134%26txt-y%3D546%26s%3De910d2135752c60841f1d7ea1627717b)