2012-03-06 9 views
0

텍스트 필드를 종료 할 때마다 UIActions 시트가 올라와 일부 정보를 저장하기로되어 있습니다. 텍스트 필드를 종료하면 프로그램이 종료되고 콘솔에 잘못된 클래스가 호출됩니다. 이 코드가 작동하지 않는 이유는 무엇입니까?클래스가 호출되지 않는 이유는 무엇입니까?

- (IBAction)classFieldDoneEditing:(id)sender 

- (IBAction)classFieldDoneEditing:(id)sender 
        withActionSheet:(UIActionSheet *)typeSheet clickedButtonAtIndex:(NSInteger)buttonIndex { 
    self.indicatedClass = classField.text; 
    NSString *greeting = [[NSString alloc] 
          initWithFormat:@"%@", indicatedClass]; 
    labelClassTitle.text = greeting; 
    labelClassTitle.hidden = NO; 
    [greeting release]; 
    [sender resignFirstResponder]; 

    typeSheet = [[UIActionSheet alloc] 
           initWithTitle:@"Class types"delegate:self 
           cancelButtonTitle:nil 
           destructiveButtonTitle:nil 
           otherButtonTitles:@"Core Class", @"Elective", nil]; 
    [typeSheet showInView:self.view]; 
    [typeSheet release]; 

    if (buttonIndex == 0) { 
     self.indicatedClass = classField.text; 
     NSString *indicatedString = indicatedClass; 
     NSString *greeting = [[NSString alloc]  
           initWithFormat:@"%@ meets 6 times per rotation",  indicatedString]; 
     labelClassTitle.text = greeting; 
     labelClassTitle.hidden = NO; 
     [greeting release]; 
     [indicatedClass release]; 
    } 

    else if (buttonIndex == 1) { 
     self.indicatedClass = classField.text; 
     NSString *indicatedString = indicatedClass; 
     NSString *greeting = [[NSString alloc] 
           initWithFormat:@"%@ meets 3 times per rotation", indicatedString]; 
     labelClassTitle.text = greeting; 
     labelClassTitle.hidden = NO; 
     [greeting release]; 
     [indicatedClass release]; 
    } 
} 

답변

0

동작이 정상적으로 보입니다. Interface Builder에서 editingDidEnd 액션을 링크했는지 확인하십시오.

+0

나는 이것을 연결했다 – mentorship

0

나는 당신이로 시작하여 H 파일에 UITextFieldDelegate 프로토콜을 구현 제안

또한

나는 다음과 같은 코드를 사용합니다 - 반드시 귀하에 textField 당신이 완료 (사용 인터페이스 빌더)에서 실행하고자하는 행동

에 연결되어 만들기를
#pragma mark - 
#pragma mark Text Field Delegate 
- (BOOL)textFieldShouldReturn:(UITextField *)textField{ 
    if ([textField canResignFirstResponder]) { 
     [textField resignFirstResponder]; 
    } 

    return YES; 
} 
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField{ 
    // add your method here 

    return YES; 
} 
- (void)textFieldDidEndEditing:(UITextField *)textField{ 

} 
+0

이것은 처음 프로그래밍이기 때문에이 코드는 나에게별로 의미가 없다. 구현할 때 많은 오류가있었습니다. – mentorship

관련 문제