我在NSMutableDictionary
存储花栗鼠物理学cpShape
对象由NSValue
对象和下面的代码行的方式:将NSValue转换回存储在其中的结构类型?
NSValue *shapeValue = [[NSValue alloc] initWithBytes: shape objCType: @encode(cpShape)];
[staticBodiesInUse setObject: shapeValue forKey: name];
我现在需要得到cpShape
退了出来,将其与另一种形状。我怎样才能做到这一点?我在NSValue
中看到一个getValue:
方法,但它需要一个缓冲区,不太确定如何处理它。
并且使用'cpShape *'是*无问题*?我不这么认为,除非非常小心地使用,否则会导致潜伏的错误。 – trojanfoe
@slembcke您可以详细阐述为什么在当前堆栈框架中创建结构体的副本不好(或者比传递指向结构体的指针差)?或者是由于花栗鼠的运作方式? – dev