Ios UIDatePicker+;NSDate返回空值

Ios UIDatePicker+;NSDate返回空值,ios,objective-c,nsdateformatter,uidatepicker,Ios,Objective C,Nsdateformatter,Uidatepicker,我在Xcode 8/Objective-C中使用UIDatePicker,让用户选择出生日期,然后将其发送到我的sql数据库。为此,我想将其转换为字符串,以便将其添加到insert语句中。问题是,我的代码似乎返回值(null)或什么都没有,这会使我的程序崩溃 我的.h文件: IBOutlet UIDatePicker *myDatePicker; @property (nonatomic, strong) IBOutlet UIDatePicker *myDatePicker; 我的.m文件:

我在Xcode 8/Objective-C中使用
UIDatePicker
,让用户选择出生日期,然后将其发送到我的sql数据库。为此,我想将其转换为字符串,以便将其添加到insert语句中。问题是,我的代码似乎返回值(null)或什么都没有,这会使我的程序崩溃

我的.h文件:

IBOutlet UIDatePicker *myDatePicker;
@property (nonatomic, strong) IBOutlet UIDatePicker *myDatePicker;
我的.m文件:

NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateStyle = NSDateFormatterMediumStyle;
NSString *date = [NSString stringWithFormat:@"%@",[df stringFromDate:myDatePicker.date]];

我尝试了上述代码的许多变体,包括
NSDate*selected=[mydatepicker date]
,并尝试转换这些代码,但我的数据库中要么出现(null),要么出现一个空单元格,导致程序崩溃

如@rmaddy所述,“很可能您没有将日期选择器连接到myDatePicker插座”。他是对的。进入我的故事板,你会发现那里有一个未连接的插座。

如果是这样,你的故事板有很多控制和复杂的功能

使用NSAssert确保您不会错过任何东西的简单方法

范例

NSAssert(yourcontrol, @"IBOutlet not set for yourcontrol");

注意到你,它会崩溃的。这将在工作时节省您的时间

很可能您没有将日期选择器连接到您的
myDatePicker
插座。@rmaddy先生您完全正确。我确实觉得自己像个白痴,我想使用mydatepicker.date会指定我正在使用的选择器,但我想不会,连接插座是有效的。非常感谢你!在iOS/Mac操作系统开发中,当某些东西似乎不起作用时,第一条规则是检查您的插座和操作连接。第二条规则也是检查您的插座和操作连接。:)在你停止浪费时间之前,你必须被它咬上几十次。