0
-(id) initWithData:(NSString *)lastName: (NSString *)firstName{
self->firstname = firstName;
self->lastname = lastName;
return self;
}
-(void) printData {
NSLog(@"firstname: %@", firstname);
NSLog(@"lastname: %@", lastname);
}
위의 init 함수를 사용하여 새 객체를 만들 때마다 이렇게됩니다. addObject 함수를 사용하여 NSMutableArray에 객체를 추가합니다.NSMutableArray에 사용자 정의 객체를 추가하면 전체 배열을 덮어 씁니다.
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 루프를 사용하거나 둘 이상의 오브젝트가있는 경우 모든 값이 인쇄되면 objectArray에 마지막으로 추가 된 오브젝트의 값으로 바뀝니다. 제가 누락 된 정보가 있다면 알려주십시오. 제가 누락 된 것이 있습니까?
입니까? –
이것을'initWithData'에 추가해보십시오 : if (self = [super init] {.. rest here here} return self;}. 당신의 커스텀 객체가 NSObject로부터 상속한다고 가정하기 때문에 [super init ] – iska
죄송합니다. 변수 이름을 잘못 입력했습니다. – randomNumberedUser