分配包含CGPoint的类并初始化它时,访问代码错误

时间:2013-12-04 15:00:30

标签: objective-c cgpoint

我一直试图弄清楚我写的代码有什么问题,我没有丝毫的线索,为什么这是错的。我注意到的另一件事是Xcode将我的CGPoint视为指针,阻止我使用箭头符号。我需要它作为我的计划目的的财产 在.h文件中

@property (nonatomic) CGPoint* directionUsed;
控制器文件中的

// up is just an instance of the class direction.
// Direction is a class that returns itself

self.up =    [[Direction alloc]initWithX:0 y: -1]; 
在.m文件中指定初始化程序:

-(id)initWithX:(int)x y:(int)y{

self = [super init];

if(self){
    self.directionUsed->x = x; //not letting me use dot notation
    self.directionUsed->y = y;
}
return self;

}

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

问题在于您将CGPoint定义为指针

只需更改您的代码

@property (nonatomic) CGPoint* directionUsed;

@property (nonatomic) CGPoint directionUsed;

修改

为了给directionUsed赋值,您需要先分配结构 您需要更改代码

self.directionUsed->x = x;
self.directionUsed->y = y;

CGPoint point;
point.x = x;
point.y = y;
self.directionUsed = point;