클래스 개체 선언이 여러 개 있고이를 NSMutableArray에 추가 한 다음 클래스 개체와 NSMutableArray 개체를 모두 수정한다고 가정합니다. 무슨 일이야?클래스를 NSMutableArray에 추가하고 해당 객체와 배열을 모두 변경하면 어떻게됩니까?
코드 예 :
MyClass *item1;
MyClass *item2;
NSMutableArray *itemHolder;
item1 = [[MyClass alloc] init];
item2 = [[MyClass alloc] init];
itemHolder = [[NSMutableArray alloc] initWithObjects:item1,item2,nil];
-(void)someFunction{
[item1 setVarName:@"item1"];
[item2 setVarName:@"item2"];
for(MyClass *items in itemHolder) [items setVarName:@"item"];
}
나는 나는 보통 항목 1 해제 생각하고 항목 2 만 itemHolder로 추가 후 바로 메모리 관리 규칙을 위반하지 않는 이유는 무엇입니까? 당신이 (항목 1과 항목 2) 객체 배열로, 배열은 단지 포인터를 저장한다를 추가 할 때 때문에 할당 해제의 끝에서, 당신은 여전히 모든
-(void)dealloc{
[item1 release];
[item2 release];
[itemHolder release];
}
응답 해 주셔서 감사합니다. – okysabeni