Swift 2.0 で登場した目玉機能の『Protocol Extension』はジェネリックという型にとらわれない仕組みを活かしたものになっています。 ジェネリックでは様々な型をプロトコルなどの様々な条件を組み合わせて機能実装を行っていくんですが、条件によっては、どれが該当するのか、どれが優先されるのか、そもそもビルドエラーになるのか。基本的にはシンプルなルールを組み合わせて作れば良さそうですが、実際にやってみると結構混乱します。 その辺りをサクッと体系立てて紹介できれば…と思ったんですが、調べてみれば微妙な違いがたくさんあって、そこまでたどり着けませんでした。 続きはぜひぜひ、みなさんの目で確かめてみてください。Read less