2011-01-28 5 views
0

안녕하세요 모두, '성공하면'방법을 적용하는 가장 좋은 방법은 무엇입니까? 나는 이것을 시험하고있다. 그러나 운이 없다.객관적인 C 단순 성공한 경우

BOOL success = false; 

success = [self.view addSubview:carregandoView]; 
carregandoView.backgroundColor = [UIColor clearColor]; 
carregandoView.center = self.view.center; 

if (!success) 
{ 

//stuff 
} 

답장을 보내 주셔서 감사합니다.

+2

'addSubview :'는 아무 것도 반환하지 않습니다. 정확히 뭐가 성공했는지 확인하고 싶니? – BoltClock

+0

이것이 작동하지 않는 방법에 대해 좀 더 명확히 설명해 주시겠습니까? – FrustratedWithFormsDesigner

+0

보기가 이미 추가 된 경우 인증서를 원합니다. –

답변

0

올바른 구문 인 것 같습니다.

NSLog-ging/디버깅을 시도하고 성공의 가치를 검사 해 보셨습니까? 관련 링크 here을 참조하십시오.

또한,

[self.view addSubview:carregandoView] 

어떤 값을 반환하는 것 같지 않는 경우가 있습니다 (이 무효 기능입니까?)

+0

사실은 로그인 화면에서 이렇게하는 것입니다. 사용자가 로그인 버튼을 누르면, 데이터를 요청하기 전에 로딩보기를 넣고 싶습니다. 이것을 올바른 방법일까요? –

+0

예 반환 유형이 'void'입니다. – BoltClock

0

당신은 방법에 코딩 스타일의이 유형을 사용할 수 있습니다 값을 반환하는 값과 BOOLEAN으로 이해할 수있는 값을 반환합니다. addSubView도 마찬가지입니다. 당신은 성공이라고 생각하는 것이 사실인지를 알려주는 다른 방법, 기능, 속성 또는 변수를 찾아야합니다.

1

우선 addSubview:은 아무 것도 반환하지 않습니다. 하위 뷰가 이미이 같은 추가 한 경우 둘째, 당신은 테스트 할 수 있습니다 : 셋째

if (carregandoView.superview != self.view) 
    // do something 

, 당신은을 가져 외에 즉, [self.view addSubview: carregandoView] 여러 번 보내는 아무것도하지 않고있다 (한 번만 수퍼에보기를 추가 할 수 있습니다 subview to front), 그리고 당신은이 트릭을 사용하여 하위 뷰가 형제 위에 남아 있도록 할 수 있습니다.