2013-08-25 3 views
-2

두 개의보기 컨트롤러 : "A"(주보기 컨트롤러) & "B"(두 번째보기 컨트롤러). VC "A"에는 테이블보기를 통해 VC "B"에 설정하려는 버튼이 있습니다. 사용자가 [표보기]에서 행을 선택하면 단추의 제목이 선택한 행으로 설정되어야합니다. 편집과 테스트를 많이 마친 후에는 테이블보기를 선택하여 VC의 "A"에 단추의 레이블을 설정할 때까지 문제를 격리 시켰다고 생각합니다.UIButton titleLabel 변경되지 않음

내가 시뮬레이터에서 코드를 실행하면 첫 번째 NSLog 올바른 값을 반환
//firstParameterString = the button label's string which I set in VC "B" 

- (void)setButtonLabels { 
    NSLog(@"%@", firstParameterString); 

    if (self.firstParameterString == nil) { 
     [self.firstParameter setTitle:@"M" forState:UIControlStateNormal]; 
    } 

    else { 
     [self.firstParameter setTitle:firstParameterString forState:UIControlStateNormal]; 
    } 

    NSLog(@"%@", [self.firstParameter titleForState:UIControlStateNormal]); 
} 

그러나 두 번째 NSLog는 값을 반환 : 저는 여기에 문제가 (보기 컨트롤러 "A") 생각하는 곳에서 코드입니다 "(없는)". 나는 이것이 왜 작동하지 않는지 이해하지 못한다 ... 나는 그것이 작동하고있는 또 다른 프로젝트에서 실행하고 실행했다. 어떤 도움이나 의견을 주시면 감사하겠습니다!

감사합니다.

답변

0

당신 노력할 것이다

는 (아직 생성되지 않은) 널 있도록 titleLabel, 당신은 설정하는 것이 아니다 때문입니다
[self.firstParameter setTitle:self.firstParameterString forState:UIControlStateNormal]; 
[self.firstParameter setTitle:self.firstParameterString forState:UIControlStateHighlighted]; 
[self.firstParameter setTitle:self.firstParameterString forState:UIControlStateDisabled]; 
[self.firstParameter setTitle:self.firstParameterString forState:UIControlStateSelected]; 
+0

죄송합니다, 문제가 해결되지 않았다 :

는 대신 확인하시기 바랍니다. 하지만 시도해 줘서 고마워! –

1

. 또한 firstParameter의 제목을 설정했지만 secondParameter를 확인하려고합니다.

[self.firstParameter titleForState:UIControlStateNormal]; 
+0

감사 ... 부주의 한 실수. 그러나 로거에서 제목은 여전히 ​​"(null)"로 표시됩니다. 첫 번째 NSLog가 올바른 값 (NSString)을 반환하기 때문에 이해가 안됩니다. –

+0

'NSLog (@ "% @", self.firstParameter);'가장 가능성이 높기 때문에 'null'도 기록합니다. 이는 처음에는'self.firstParameter'를 생성 한 적이 없으므로 오류가 가장 많이 발생하기 때문입니다. – Jsdodgers

관련 문제