我只是想确保我正确地做事情,因为我前进与Objective-C,如果我可能会提出两个快速问题:设置嵌套对象?
(1)我正在从Rectangle中正确访问Position对象吗?我是否有权访问我在init中设置的指针所包含的Position对象,还是有更好的方法?
(2)In [setPosX:andPosY:]设置Position实例变量的两种方式中的哪一种最好,或者它真的没有关系?
// INTERFACE
@interface Position: NSObject {
int posX;
int posY;
}
@property(assign) int posX;
@property(assign) int posY;
@end
@interface Rectangle : NSObject {
Position *coord;
}
-(void) setPosX:(int) inPosX andPosY:(int) inPosY;
// IMPLEMENTATION
@implementation Rectangle
-(id) init {
self = [super init];
if (self) {
NSLog(@"_init: %@", self);
coord = [[Position alloc] init];
// Released in dealloc (not shown)
}
return(self);
}
-(void) setPosX:(int) inPosX andPosY:(int) inPosY {
//[coord setPosX:inPosX];
//[coord setPosY:inPosY];
coord.posX = inPosX;
coord.posY = inPosY;
}
EDIT_01
不要我再调用 - (ID)initWithX:安迪:从矩形对象时我初始化呢?如果是的话,我怎么去设置main()中的posX和posY?或者我用另一个 - (id)initWithX:和Y替换矩形的init:并将值传递给?
@implementation Rectangle
-(id) init {
self = [super init];
if (self) {
NSLog(@"_init: %@", self);
coord = [[Position alloc] initWithX:1234 andY:5678];
}
return(self);
}
...
欢呼加里