2012-09-25 2 views
0

xcode에서 ios 6을 개발하기 시작했습니다. 하지만 초보 개발자로서, 나는 문제가되었습니다. 3 장의 'ios5 개발 시작 : ios sdk 탐색'에서 'Button fun'예제의 가이드를 따릅니다.xcode에 선언되지 않은 식별자

.h 코드에서 이미 선언 한 식별자 'statusText'에 문제가 있습니다.

내 코드는 지금까지 어떤 도움을 주시면 감사하겠습니다. 미리 감사드립니다. PLS,

내 BIDViewController.h 그렇게

#import <UIKit/UIKit.h> 

@interface BIDViewController : UIViewController 
@property (weak, nonatomic) IBOutlet UILabel * 
statusText; 
- (IBAction)buttonPress:(UIButton *)sender; 

@end` 

처럼 내 BIDViewController.m 내가 책을 따랐지만이 발생하는 이유를 이해할 수없는 것 때문에

#import "BIDViewController.h" 

@interface BIDViewController() 

@end 

@implementation BIDViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

- (IBAction)buttonPress:(UIButton *)sender { 
    NSString *title = [sender titleForState:<#(UIControlState)#>]; 
    statusText.text = [NSString stringWithFormat:@"%@ button pressed.", title]; 
} 
@end 

같다 도움.

는 는
+0

정확한 문제는 무엇입니까? 컴파일러 문제 또는 런타임 오류? – tomasmcguinness

답변

2

음, 우선, 이것은 단지 한 줄 수 있어야

이제
@property (weak, nonatomic) IBOutlet UILabel *statusText; 

, 당신은 속성을 선언 할 때이처럼 합성하지 않는 한, 당신은 같은 이름의 변수를하지 않습니다

@implementation Class 

@synthesize propertyName; 

@end 

그 이유는 statusText가 존재하지 않기 때문입니다. 그런

  1. 합성 statusText 그래서 당신이 바르를 사용할 수 있습니다

    당신은 세 가지 옵션이 있습니다.

  2. var에 직접 액세스하는 대신 self.statusText과 같은 속성에 액세스하십시오.
  3. XCode는 자체 변수를 만들고 있습니다. 아마도 _statusText이라는 이름이 붙어있어서 변수에 직접 액세스 할 수 있습니다.

또한 나도 같은 책을 사용하고 그 문제를 가지고 있어요 2, 3

+0

@emilioPalaez, 당신의 생명의 은인, 너무 많이 ... 고맙습니다. 공부할 좋은 책을 추천 해 주실 수 있나요? 첼시 : – DanKiiing

+0

미안하지만, 나는 좋은 책을 모른다. 대학에서 기본 C 및 Java 프로그래밍을 배웠고, 그 지식으로 애플의 문서와 샘플을 가져 와서 시작했습니다. – EmilioPelaez

+0

도움 주셔서 감사합니다. @emiliopelaez – DanKiiing

0

의 조합을 사용할 수 있습니다. .m 파일의 밑줄을 사용하는 방법을 배웠습니다.

- (IBAction)buttonPressed:(UIButton *)sender { 
    NSString *title = [sender titleForState:UIControlStateNormal]; 
    **_statusText**.text = [NSString stringWithFormat:@"%@ button pressed.", title]; 

}