次のメソッドを使用して、オブジェクトに関するデータにアクセスしています。最初の NSLog には、すべてのデータが表示されます。2 番目の NSLog は、次のような「フレーム」データを示しています: NSRect: {{168, 102}, {5, 5}}
NSRect から最初の座標セットにアクセスし、次に最初のペアから横座標にアクセスするにはどうすればよいですか?
-(void) moveTheShape:(NSTimer*)timer
{
NSDictionary *userInfo = [timer userInfo];
NSLog(@"Info: %@",userInfo);
//Info: <Shape: 0x68b6c30; frame = (151 352; 5 5); layer = <CALayer: 0x68b6c00>>
NSDictionary *frame = [userInfo valueForKey:@"frame"];
NSLog(@"frame: %@", frame);
//NSRect: {{168, 102}, {5, 5}}
}
正しい解決策:
-(void) moveTheShape:(NSTimer*)timer
{
Shape *userInfo = [timer userInfo];
NSLog(@"Info: %@",userInfo);
CGPoint origin = userInfo.frame.origin;
NSLog(@"result: %f", origin.x);
}