나는 아이폰 개발자와 obj c 모두를 초보자입니다. 뷰가로드 될 때 웹 서비스를 호출하고 웹 서비스에서 결과를 검색하는 데 걸리는 시간 동안 활동 표시기를 표시하려고합니다.ViewDidLoad 후 iphone 개발 컨트롤이 null이됩니다.
내 문제는 ViewDidLoad
이 완료되면 내 activityindicator
및 라벨이 null이되는 것입니다. 따라서 웹 서비스 호출 후에 나는 어떤 컨트롤도 조작 할 수 없다.
왜 이런 일이 발생하는지 이해할 수 없습니다. 분명히 기본에 대한 이해가 부족합니다. 나는 이것에 관해 약간의 숙제를했다. 그러나 나는 어디에도 가지 않고 있었다. 일부 사용자가 viewdidload
이 완료되면 컨트롤이 null이되는 이유를 설명해 주시면 매우 도움이됩니다.
업데이트 : 답변 해 주셔서 감사합니다. viewdidload
에서 나는 다음을 수행하고 있습니다. 활동 표시기에 애니메이션을 적용하고 일부 값을 textview
에 할당하고 있습니다. 그런 다음 웹 서비스를 호출합니다. 코드를 디버깅하면 viewdidload
이 완료되고 -(void) connection: (NSURLConnection *) connection didReceiveResponse:(NSURLResponse *)
이 호출되면 내 텍스트보기/activityindicator가 null이됩니다.
(void)viewDidLoad {
[activityindicator startAnimating];
if(myarray != NULL) {
myuitextview.text = @""; // displaying some values from array
@try{
// call web service
} @catch (NSException *ns) {
}
}
}
일부 코드를 게시하여 어디에 있는지 알 수 있습니까? 참조 계산과 메모리 할당에 대해 읽으 려합니다. 리테 이닝 횟수가 0에 도달했기 때문에 컨트롤 할당이 취소 된 것처럼 들립니다. –