問題は次のとおりです。たとえば、次のようにperformSelector:withObject
経由してオブジェクトへのポインターを渡しています。[NSValue valueWithPointer:]
// GVertex is NSObject subclass
GVertex *vertex = [[GVertex alloc] initWithX:5.0f andY:4.5f]];
GVertex **vertexPtr = &vertex;
// later in code when I need to process the vertex
[self performSelector:@selector(processVertex:) withObject:[NSValue valueWithPointer:vertexPtr]];
次に、私のprocessVertex:(NSValue *)vertexValue
メソッドで、渡された頂点を取得したいので、次のようにします:
- (void)parseVertex:(NSValue *)vertexValue
{
GVertex *vertex = (GVertex *)[vertexValue pointerValue];
...
[vertex setFlags:32]; <<-- This gives me EXC_BAD_ACCESS
...
}
どこでも (*) と (&) の多くの組み合わせを試しましたが、うまくいきません。私は何を間違っていますか?ありがとう。