前回は、Prototypeパターンの基本的な実装を紹介した。その結果、ある意味当然だが、Prototypeパターンではオブジェクトのコピーが重要な事が分かったと思う。 そこで、今回はObjective-CとCocoaにおける、コピー機能の紹介をしよう。非常に基本的な機能なのだが、議論すべき点はたくさんある。 単純なコピー まず、最も単純なコピーから考えてみよう。コピーする対象はオブジェクトなのだが、いくらオブジェクトといっても所詮はメモリ上のデータなので、同じサイズのメモリ領域を確保して値をコピーしてやれば、コピーは完了する。Objective-CはC言語とのハイブリッドなので、mallocとmemcpyを使えばいい。 といっても、それでは原始的すぎるので、Cocoaではオブジェクトの単純なコピーをサポートする関数が用意されている。NSCopyObjectだ。定義は次のようになる。 Lis
![ダイナミックObjective-C (58) デザインパターンをObjective-Cで - Prototype (2) | マイナビニュース](https://cdn-ak-scissors.b.st-hatena.com/image/square/1e861798cb139307c90d1535e461aacd932288f5/height=288;version=1;width=512/http%3A%2F%2Fn.mynv.jp%2Fimages%2Flogo_ogp.png)