简体   繁体   中英

error in using date picker

the application crashed when calling this function, how ever in iPhone it works fine , but in iPad the application crashes and say

note: i'm using ActionSheetDatePicker library

Thread 1: EXC_BAD_ACCESS (cod = 1 , address = 0x9e...)

when i debug i found selectedDate is nil in iPad , but works fine in iPhone

#pragma mark - Implementation
- (void)dateWasSelected:(NSDate *)selectedDate element:(id)element {
//    self.selectedDate = selectedDate;

    //may have originated from textField or barButtonItem, use an IBOutlet instead of element

    //DATE TEXT FIELD HERE


    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"YYYY-MM-dd"];
    //Optionally for time zone converstions
    [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"..."]];
    NSString *stringFromDate = [formatter stringFromDate:selectedDate];
    self.textFieldBirthDate.text = stringFromDate ;
    birthDate = stringFromDate ;

    //"YYYY-MM-DD"  the birthdate format

}

The git hub code which you provided is working fine for me and I did debug the code.

When user Taps on done button (After selecting the date) below code will be executed.

- (void)notifyTarget:(id)target didSucceedWithAction:(SEL)action origin:(id)origin {

    if ([target respondsToSelector:action])

        objc_msgSend(target, action, self.selectedDate, origin);

    else

        NSAssert(NO, @"Invalid target/action ( %s / %s ) combination used for ActionSheetPicker", object_getClassName(target), (char *)action);

}

Now here make sure you are getting value for self.selectedDate , if you are not getting then please do check that you are getting a breakpoint to below code when you just select a date by scrolling.

- (void)eventForDatePicker:(id)sender {

    if (!sender || ![sender isKindOfClass:[UIDatePicker class]])

        return;

    UIDatePicker *datePicker = (UIDatePicker *)sender;

    self.selectedDate = datePicker.date;

}

These codes are present in file

ActionSheetDatePicker.m

If you are getting the breakpoint here then make sure you are saving the date .Once you do check this the problem will be resolved.

Regards, Anil

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM