在我正在创建的项目中,我有各种课程。我的一个类有一个 NSMutableArray 的实例,它包含我的另一个类的对象。我以为我对这个话题有一个深刻的理解,但不知怎的,它又在我脑海里乱七八糟了。
当初始化这个类的一个实例时,我有这个 initilize 方法:
- (MMShowMovement *) initWithMovementName: (NSString *) name andNumber: (NSInteger) number {
if( [super init] ) {
[self setMovementTitle: name];
[self setMovementNumber: number];
[self setDotArray: [[NSMutableArray alloc] init]];
}
return self;
}
稍后,在创建此类的实例后,我可以将对象添加到 NSMutableArray“dotArray”。这是那个方法。
- (void) addDot: (MMDot *) dot {
[dotArray addObject: dot];
}
(我知道,它很简单)我想知道,当我在此方法中使用“dotArray”时,我正在访问调用此方法的类的实例的 dotArray 对象,对吗?还是我也应该在这里使用 self 关键字?
- (void) addDot: (MMDot *) dot {
[[self dotArray] addObject: dot];
}
老实说,我不太确定。我相信是前者,但我不确定为什么。而且在这个方法中不需要使用self关键字,为什么我必须在初始化器中使用它来访问对象呢?