2012-01-07 3 views
0

나는 IBAction을 가지고 있으며 .xib의 버튼과 연결되어 있습니다. 그러나 행동을 위해이 규범이 필요했다.버튼과 연결되어 있지만 무효가 필요합니다.

- (void) reportScore: (int64_t) score forCategory: (NSString*) category 
{ 
    GKScore *scoreReporter = [[GKScore alloc] initWithCategory:category]; 
    scoreReporter.value = counter; 
    [scoreReporter reportScoreWithCompletionHandler: ^(NSError *error) 
    { 
     [self callDelegateOnMainThread: @selector(scoreReported:) withArg: NULL error: error]; 

     NSLog(@"Nice: %d", counter); 

    }]; 
} 

내 버튼을 무효화 할 수있는 방법이 있습니까? 아니면 그런 식으로?

- (IBAction) subScore { 
//data 
} 
+4

공백과 IBAction은 같은 것입니다. IBAction은 헤더 파일에서 IB에게 작업에 메서드에 연결할 수 있다고 알리는 표시입니다. –

답변

1

IBAction (및 IBOutlet)가 바로 엑스 코드의 인터페이스 빌더 (IB)을 수 있도록 사용되는 존재하는 기능이 있다는 것을 알고있다. void을 사용하고 싶다면 인터페이스 빌더에 표시된 기능을 사용할 수 없습니다. IBAction를

는 타겟 - 액션 연결에 대한 작업 등의 방법을 치료하기 위해 엑스 코드 (인터페이스 빌더)를 알려에만 사용되는 특수 키워드입니다. IBAction은 공으로으로 정의됩니다.

함께 IBOutlet는 콘센트로 객체를 치료하는 엑스 코드 (인터페이스 빌더)를 알려에만 사용되는 특수 키워드입니다. 실제로 컴파일 타임에는 효과가 없습니다.

당신은 기능 설정 (void로 정의되며, IBAction 어느 괜찮주의, 그러나 여기에서 불필요)이처럼 버튼을 목표로 할 수

: 당신은 당신의 코드를 작성하는 경우,

[yourButton addTarget:self action:@selector(yourButtonFunction:) forControlEvents:UIControlEventTouchUpInside]; 

일반적으로 프로그래밍 방식으로 (XCode의 인터페이스 빌더를 사용하지 않고) IBOutlet 또는 IBAction이 더 이상 필요하지 않습니다. ;)