0

フォームシート ビューに複数のテキスト フィールドがあります。ユーザーがボタンをクリックしたときにそれらを追加したい。しかし、そのうちの 1 つだけが textfield の値を返し、残りは null を返します。

.h

@property (nonatomic, strong) IBOutlet UITextField *textMonth;
@property (nonatomic, strong) IBOutlet UITextField *textDay;
@property (nonatomic, strong) IBOutlet UITextField *textYear;
@property (nonatomic, strong) IBOutlet UITextField *textMeetingName;

.m

@synthesize textDay=_textDay;
@synthesize textMonth=_textMonth;
@synthesize textYear=_textYear;
@synthesize textMeetingName=_textMeetingName;


- (BOOL)disablesAutomaticKeyboardDismissal {
    return NO;
}
//this dismiss keyboard on ios
- (BOOL)textFieldShouldReturn:(UITextField *)textField {

        [_textMonth resignFirstResponder];
        [_textDay resignFirstResponder];
        [_textYear resignFirstResponder];
        [_textMeetingName resignFirstResponder];


    return YES;
}
//submit create folder request to dropbox
- (IBAction)sendCreateFolderRequest:(id)sender{

    if ([_textMonth.text intValue]>12 ||[_textMonth.text intValue]<1 ) {
        //alertview choose a number between 1 and 12
        [self popUpAlertview:@"Please choose a month between 1 and 12"];
    }
    else if ([_textDay.text intValue]>31 || [_textDay.text intValue]<1){
        //alert view choose a number between 1 and 31
        [self popUpAlertview:@"Please choose a day between 1 and 31"];
    }
    else if ([_textYear.text intValue]<0){
        //alert view please enter a correct year
        [self popUpAlertview:@"Please enter a correct year"];
    }
    else if ([_textMeetingName.text length]<=1){
        //alert view meeting name is too short please enter a longer name
         [self popUpAlertview:@"Name is too short. Please enter a longer name"];
    }
    else{

        NSString *sendFolderName=[NSString stringWithFormat:@"/Up2Date/%@.%@.%@.%@",_textMonth.text,textDay.text,textYear.text,textMeetingName.text];

        NSLog(@"Send folder name %@",sendFolderName);

    }

}

入力は11,12,13,asdaad 出力ですSend folder name /Up2Date/11.(null).(null).(null)

奇妙なことに、フィールド値が 11,45,20 のように間違っている場合、else メソッドがキャッチすると、期待どおりに警告ビューがポップアップします。

では、何が問題なのですか?ファーストレスポンダーを一斉に辞任すべきではないのでしょうか?

4

1 に答える 1

3

変化する

NSString *sendFolderName=[NSString stringWithFormat:@"/Up2Date/%@.%@.%@.%@",_textMonth.text,textDay.text,textYear.text,textMeetingName.text];

NSString *sendFolderName=[NSString stringWithFormat:@"/Up2Date/%@.%@.%@.%@",_textMonth.text,_textDay.text,_textYear.text,_textMeetingName.text];

アンダースコアを追加するのを忘れました。

于 2012-10-31T19:39:15.557 に答える