Q & A
글수 1,540
안녕하세요~
버튼을 만들어서 뷰에 붙이는 처리에서 제가 하는방식이 맞는지 의문이 들어 질문올립니다..
먼저.. 아래와 같이.. 버튼을 만들어서 리턴하는 함수가 있습니다.
- (UIButton *)generateButton
{
UIButton *button = [[UIButton buttonWithType:[UIButtonTypeRoundedRect]] retain];
...
...
return button;
}
그리고 처리하는 함수에서..
위의 버튼만드는 함수를 이용해서 버튼을 얻어온다음에..
글로벌로 선언되어있는(프로퍼티 아님...) 뷰에 붙이고 버튼을 release 했습니다.
- (void)testFunction
{
UIButton *button = [self generateButton];
[myView addSubview:button];
[button release];
}
여기에서 [button release] 부분... 맞게 사용한건가요?...
버튼만드는 함수에서 retain 걸어서 왔기때문에 뷰에 붙이고 release 를 한것인데...
잘못된 릴리즈라고 경고가 뜨네요 ㅠ . ㅠ
제가 이제껏 잘못알고 사용해왔는지 꼭 짚고 넘어가고 싶어서요..
아시는 분 답변 꼭...부탁드리겠습니다.

릴리즈 할 필요가 없다고 생각되네요. 리테인도 필요 없구요.
내부적으로 오토릴리즈 걸려있다고 보시면 될 듯 합니다.