2012-03-06 35 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プロトコルを実装することにより開始示唆 - 必ずあなたのテキストフィールドは、あなたが(インタフェースビルダを使用して)Doneを実行したいアクションに接続されて作る

#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

関連する問題