Я изучаю Objective-C из книги Big Nerd Ranch. Я застрял в коде примера 21-й главы.Несколько объектов с тем же именем в Objective-C
Вот класс заголовка BNREmployee и основного файла.
Заголовок
@interface BNREmployee : BNRPerson
{
NSMutableArray *_assets;
}
@property (nonatomic) unsigned int employeeID;
@property (nonatomic) unsigned int officeAlarmCode;
@property (nonatomic) NSDate *hireDate;
@property (nonatomic, copy) NSArray *assets;
- (double)yearsOfEmployment;
- (void)addAsset:(BNRAsset *)a;
- (unsigned int)valueOfAssets;
@end
main.m
for (int i = 0; i < 10; i++) {
// Create an instance of BNREmployee
BNREmployee *mikey = [[BNREmployee alloc] init];
// Give the instance variables interesting values
mikey.weightInKilos = 90 + i;
mikey.heightInMeters = 1.8 - i/10.0;
mikey.employeeID = i;
// Put the employee in the employees array
[employees addObject:mikey];
}
Итак, мой вопрос заключается в том, как мы создаем несколько объектов для BNREmployee класса с таким же именем т.е. 'Мики'. Это делается внутри цикла. Но как это работает, почему компилятор разрешает это? Спасибо
Объекты не имеют имен (если они не содержат, например, свойство 'name'). У указателей есть имена. Совершенно разные вещи (и фундаментальный момент, который вы должны понимать, прежде чем пытаться закодировать в Objectiver-C). –
У объектов и указателей одинаково нет имен. Переменные имеют имена. – tenfour
@tenfour - Точка взята! –