2011-01-04 5 views
0

나는 아주 간단한 응용 프로그램을 가지고 있습니다. IB에 버튼과 라벨이 있습니다. 레이블에 setText를 호출하는 onClick에 대한 IBAction이 있습니다. 라벨을위한 콘센트가 있습니다. 모든 것이 IB로 연결됩니다. 그것은 시뮬레이터에서 처음으로 응용 프로그램을 충돌시킵니다. 다시 시작하면 텍스트가 설정됩니다. 다음에 다시 충돌합니다. 실제 장치에서는 항상 충돌합니다. 이것은 간단해야하지만, 내가 뭘 잘못하고 있는지 모르겠습니다.매우 간단한 iPhone 응용 프로그램이 UILabel settext에서 충돌합니다.

감사합니다. 내 .H 파일에

:

#import <UIKit/UIKit.h> 

@interface UntitledViewController : UIViewController { 
IBOutlet UILabel *label; 
IBOutlet UIButton *button; 
} 

@property (nonatomic, retain) UILabel *label; 

-(IBAction) onClick1: (id) sender; 

@end 

와하는 .m에서 :

- (IBAction) onClick1: (id) sender 
{ 
    //[label setText:@"Hello World!"]; 
    label.text = @"Hello World!"; 
    //[button setTitle:@"Clicked" forState:UIControlStateNormal]; 
} 

죄송합니다, 나는 사이트에 새로 온 사람. 충돌 로그와 스택을 얻으려면 어떻게해야합니까? 감사.

+1

버그를 보여주는 간단한 코드 예제를 보여줍니다. – zoul

+0

첫째, 충분한 세부 정보를 제공하지 않습니다. 충돌 로그, 스택? – jv42

+0

콘솔에서 크래시 로그를 가져옵니다 (실행 -> 콘솔 클릭). 디버거 (실행 -> 디버거)에서 스택 추적을 얻습니다. 콘솔은 앱에서 출력하는 메시지입니다. 디버거를 사용하면 코드의 상태가 충돌하는 지점을 확인할 수 있습니다. 스택 추적은 함수 이름 목록을 보여주는 디버거의 왼쪽 상단 섹션입니다. – deanWombourne

답변

1

편집 :이 대답은 기술적으로 정확하지만, 전혀 문제 :(


< 경고 미안 답변을하지 않습니다 - 이것이 추측>

당신이 얻고있는 경우 당신이 과거에 레이블을 지정하는 값을 설정했지만 제대로 유지되지 있다고 알려줍니다 다음 레이블의 텍스트를 설정 충돌

를 내가 추측하고있어이 같은 코드가 있습니다.

label = [[[UILabel alloc] initWithFrame:CGRectMake(0,0,10,10)] autorelease]; 

당신이

// Option 1 
self.label = [[[UILabel alloc] initWithFrame:CGRectMake(0,0,10,10)] autorelease]; 

또는

// Option 2 
label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,10,10)]; 

가 (첫 번째는 레이블을 유지하기 위해 속성을 사용하는 코드처럼해야 할 때. 두 번째 것은 자동 포기하지 않습니다. 첫 번째 방법이 권장됩니다)

+0

흠. 레이블을 할당하지 않습니다. 나는 그것이 IB에서 만들어 질 때 필요하다는 것을 알지 못했습니다. –

+0

아, 헤더 파일에서 IBOutlet을 놓친 것입니다. 죄송합니다! – deanWombourne

+0

걱정할 필요가 없습니다! 시간 내 주셔서 감사합니다. –

1

IB의 라벨 연결을 다시 한 번 확인하십시오.
줄에 디버거에 중단 점 넣기 label.text = @ "Hello World!";
레이블이 여기에 0이 아닌지 확인하십시오.
nil 인 경우 IB에 연결을 설정하지 않았습니다.

관련 문제