-(id) initWithData:(NSString *)lastName: (NSString *)firstName{
self->firstname = firstName;
self->lastname = lastName;
return self;
}
-(void) printData {
NSLog(@"firstname: %@", firstname);
NSLog(@"lastname: %@", lastname);
}
поэтому всякий раз, когда я создаю новый объект, используя вышеупомянутую функцию init. И добавьте объекты в NSMutableArray, используя функцию addObject.
NSMutableArray *objectArray = [[NSMutableArray alloc] init];
CustomObject *tempObject = [[CustomObject alloc] initWithData: @"smith": @"john"];
CustomObject *tempObjectb = [[CustomObject alloc] initWithData: @"brown": @"william"];
[objectArray addObject:tempObject];
[objectArray addObject:tempObjectb];
[[objectArray objectAtIndex:0] printData];
[[objectArray objectAtIndex:1] printData];
объекты с индексами 1 и 0 всегда равны любому объекту, который был добавлен в массив последним.
Это также происходит, если я использую цикл for или имею более 2 объектов, все значения при печати обращаются к значениям последнего добавленного объекта в objectArray. Дайте мне знать, если есть какая-либо информация, которую я пропускаю.
Есть что-то, чего мне не хватает?