に格納されているオブジェクトへのポインターを取得して、NSValue変更できるようにしたいと思います。あらすじはこんな感じです。
// Get a pointer to the value's buffer (it'd be void*, I guess).
CGRect *myRect = [rectValue getPointer];
// Modify the rectangle.
myRect->origin = CGPointMake(10, 10);
NSValuemethod があることに気づきましpointerValueたが、ドキュメントには次のように記載されています。
void へのポインターとしての値。値オブジェクトがポインター サイズのデータ項目を保持するために作成されていない場合、結果は未定義です。
…したがって、これはポインターである値にのみ適しているようですが、これはそうではなく、CGRect.
ちなみに、答えが「あなたはこれを行うことはできません」である場合でも、私に関する限り、それはまだ良い答えです:-) APIに驚くほど明白な欠如があるように見えるので、なぜそうしないのかの説明は興味深いでしょう. .