2011-05-11 9 views
3

이것은 나에게 지겨운 일입니다. 나는 초보자 프로그래머이며 텍스트가 변경되지 않는 이유를 알 수 없습니다.UITextField 설정이 작동하지 않습니다.

-(void)updateDays:(NSInteger)days 
{ 
    NSString* daysString = [[NSString alloc] initWithFormat:@"%d", days]; 
    [daysTextField setText:daysString]; 
    [daysString release]; 
} 

일어나고있는 이유는 아무것도 :

은 여기의 UITextField의 텍스트를 설정하도록되어 내 방법입니다.

도움말이 제공되었습니다.

+4

메서드가 호출되고 있습니까? –

+2

...'daysTextField'는 실제로 해당 UITextField를 참조합니까? – Till

+0

TextField를 보유하고있는보기에서 'setNeedsDisplay : YES'를 호출합니까? –

답변

0

메서드가 호출되는지 확인하십시오. 예인 경우 텍스트 필드가 올바르게 설정되어 있는지 확인하십시오. 올바른 객체에 IBOutlet 연결이 설정되어 있는지 확인하려면 교차 확인란을 선택합니다. 그런 다음 당신이 알고

NSLog(@"updateDays: %@ %@ <= %@", daysTextField, daysTextField.text, daysString); 

:

6

언제든지은 관련 데이터를 출력하기 전에, NSLog를 추가 단지 디버거를 사용하거나 "왜 작업이 라인이 아닌"의 라인을 따라 좌절을 (a) 라인이 실행 중입니다. (b) 변수가 생각하는 변수이고, (c) 값이 합리적입니다.

+0

+1 당신은 당신의 코드가 무엇을하고 있는지를 알고 있다고 생각할지도 모르지만 그것이 실행되는 것을 볼 수있는 유일한 방법입니다. 필자는 모든 프로그래머가 정기적으로이 작업을 수행해야한다고 생각합니다. – zpasternack

0

나는이 문제도 만난다.

그것은 내 코드입니다 : (있는 viewDidLoad에서)

UITextView *tv = [[UITextView alloc]initWithFrame:CGRectMake(0,0,320,50)]]; 
tv.text = @"12345"; 
tv.textColor=[UIColor blackColor]; 
[self.view addSubView:tv]; 

그리고 텍스트 (12345)이 표시되지 않습니다;

마지막으로 textColor를 회색으로 설정하거나 검정색이 아닌 색상으로 설정하면 효과가 있음을 알았습니다.

시뮬레이터의 버그라고 생각합니다.

저는 xcode 4.2와 iphone5.0 시뮬레이터를 사용합니다.

4

나는이 경험을 여러 번했지만, 나는 그 모두가 UITextField이 그 시점에서 초기화되지 않았다는 이유로 추측했다고 생각합니다.

중단 점을 설정하고 디버거를 으로 설정하면 UITextField이 0이 아닌인지 확인하십시오. 또한 .xib 파일과 코드 간의 연결을 확인해야합니다.

관련 문제