应用程序在调用此函数时崩溃,在iPhone中如何工作正常,但在iPad中应用程序崩溃并说
注意:我正在使用ActionSheetDatePicker库
线程1:EXC_BAD_ACCESS(cod = 1,address = 0x9e ...)
当我调试时发现iPad中的selectedDate为零,但在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
}
答案 0 :(得分:2)
你提供的git hub代码对我来说很好,我调试了代码。
当用户点击完成按钮(选择日期后)下面的代码将被执行。
- (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);
}
现在确保你获得self.selectedDate的价值,如果你没有得到,那么当你只是通过滚动选择一个日期时,请检查你是否得到了一个断点到下面的代码。
- (void)eventForDatePicker:(id)sender {
if (!sender || ![sender isKindOfClass:[UIDatePicker class]])
return;
UIDatePicker *datePicker = (UIDatePicker *)sender;
self.selectedDate = datePicker.date;
}
这些代码存在于文件
中ActionSheetDatePicker.m
如果你在这里得到断点,那么请确保你保存日期。一旦你检查这个问题就会得到解决。
此致 阿尼尔