CGContextAddLines を使えば配列に入った CGPoint を結ぶ複数の線を描画することができます。例えばタッチの軌跡を描く場合などに使えます。しかし CGPoint はオブジェクトではないのでそのままでは NSMutableArray に入れることはできません。CGPoint の配列を使うにも最初に配列数を決めて定義しないといけないので、タッチの軌跡を描くような、描画点がいくつになるか分からないときには使うことが出来ません。

そこで、NSMutableArray に CGPoint を入れる方法です。ラッパクラスの NSValue を使います。このクラスは NSPoint, NSRect, NSSize, NSRange, CGPoint, CGRect, CGSize, CGAffineTransform などをラップできます。
(続きを読む…)