我想获得一个指向存储在 an 中的对象的指针,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);
我注意到NSValue
有方法pointerValue
,但文档说:
该值作为指向 void 的指针。如果未创建值对象来保存指针大小的数据项,则结果未定义。
…所以这似乎只适用于指针值,这不是,它是一个CGRect
.
顺便说一句,如果答案是“你不能这样做”,就我而言,这仍然是一个很好的答案 :-) 解释为什么不这样做会很有趣,因为它似乎在 API 中明显缺失.