0

我一直在努力解决这个问题......我的球类中有一个 CGPoint 的@property,但我无法为其分配一个新的 CGPoint 包含它的类看起来像这样

@interface Ball : NSObject

@property (nonatomic) CGPoint position;

@end

@implementation Ball

@end

后来当我尝试像这样改变位置时

Ball * myBall = [[Ball alloc] init];

CGPoint myPoint = CGPointMake(100.0,100.0); // some random values here

myBall.position = myPoint;

NSLog(@"%f,%f", myBall.position.x, myBall.position.y); 

它输出的值仍然是0.0000, 0.0000

4

3 回答 3

0
CGPoint

不是 Objective-c 对象,它们是 C 结构。您的属性位置不是 Object 的实例

于 2013-05-01T14:54:51.007 回答
0

在某些情况下,CGFloat 实际上是一个double. 尝试将其打印为 afloat可能会导致您看到的结果。

另一种可能性是myBall出于nil某种原因,在这种情况下,您肯定会为其属性获得零。您发布的代码不应该是这种情况,但有时人们在发布代码时会(过度)简化。

于 2013-05-01T00:09:37.547 回答
-2

@synthesize myPoint;在你的Ball.m课堂上试试。

编辑:其他人说这可能不是问题,抱歉。

于 2013-04-30T23:57:16.530 回答