2011-09-01 5 views
0

내가 프로그래밍 그리고프로그래밍 객체는 내가 원하는 때 stopAnimating에

UIActivityIndicatorView* cactivity = [[[UIActivityIndicatorView alloc] 
initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite] retain]; 

과 ActivityIndicatorView를 만들 나중에 해제 선언되지 않은 식별자를 사용하여 다음
- (void)connectionDidFinishLoading, 메신저에 출시 만드시겠습니까? 그러나 나는 그것을 유지하고 그것을 스스로 풀어야한다고 생각했다.

답변

2

먼저 후 UIActivityIndicatorView을 보유 할 필요가 없습니다 벗어나게 allocinit 그것은 이미 당신은 다음과 같이 참조 할 수 있도록 1

의 유지 카운트가 단지의 .H 파일에서 UIActivityIndicatorView를 선언있다 인스턴스 변수. (thnx 롭).

+1

클래스 변수가 아닌 인스턴스 변수. –

+0

그건 내 원래 계획 .. 또한이 문제의 뿌리. 난 그냥 IB에서 그것을 만들고 일부 코드에 연결하고 싶었지만 Ctrl 키를 누른 채로 .h 파일로 드래그 할 수 없었습니다. 그리고 .xib 개체에 .hi에있는 uiactivityindicator를 연결할 수 없으므로 프로그래밍 방식으로 진행했습니다. 전에도 이런 문제가 발생하지 않았으므로 프로그래밍 방식으로 더 쉬운 해결책이 될 것이라고 생각했습니다. – MaikelS

+0

'.h' 파일에'IBOutlet' 파일을 만들고 그 파일을 연결하기 위해 IB를 사용할 수 있어야합니다. – rckoenes

1

선언되지 않은 식별자는 변수가 현재 범위에 정의되지 않았 음을 나타냅니다. 동일한 변수를 여러 메소드에서 사용할 수있게하려면 클래스 ivar 또는 특성으로 만드십시오.

1

지역 선언은 : 당신은 다른 방법으로 도달 할 수없는 때문에되는 로컬 방법에 UIActivityIndicator을 선언했다. 헤더 파일에서 선언해야합니다. 또한 그것을 보유 재산으로 지정하십시오. 그런 다음 원하는 곳 어디에서나 액세스 할 수 있습니다.

보관 메시지가 필요하지 않습니다. : 또한 초기화했을 때 보유 수는 1 씩 증가하므로 보관 메시지를 전달할 필요가 없습니다. 당신은 어쨌든 그것에 접근 할 수 있습니다.

1

"autorelease"를 사용하여 결과에 도달하거나 경고를 피하십시오. 그러나 이것은 모든 경우에 좋다고 생각하지 않습니다.

관련 문제