どういうわけか、以下のコードはNSInvalidArgumentExceptionをスローしていますが、すべてが適切な値であることを確認するために段階的に実行しました...
NSValues に格納されている CGPoints の配列があり、これはすべてのポイントを (x,y) でオフセットするメソッドの一部です。
for (int i = 0; i < [allPoints count]; i++) {
CGPoint pt = [[allPoints objectAtIndex:i] CGPointValue];
CGPoint newPt = CGPointMake(pt.x + x, pt.y + y);
NSValue *newEntry = [NSValue valueWithCGPoint:newPt];
[allPoints replaceObjectAtIndex:i withObject:newEntry];
}