我一直在用这种方式敲我的头一段时间...... 我在我的球类中有一个@property用于CGPoint,我只是不能为它分配一个新的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
答案 0 :(得分:0)
在某些情况下,CGFloat实际上是 double
。尝试将其打印为float
可能会导致您看到的结果。
另一种可能性是myBall
由于某种原因是nil
,在这种情况下,你肯定会为其属性获得零。对于您发布的代码,情况应该不是这样,但有时人们(过度)会在发布代码时简化。
答案 1 :(得分:0)
CGPoint
不是Objective-c对象,它们是C结构。您的属性位置不是对象的实例
答案 2 :(得分:-2)
在@synthesize myPoint;
课程中尝试Ball.m
。
编辑:其他人说这可能不是问题,道歉。