2016-12-07 103 views
-1

我在Xcode 8/Objective-C中使用UIDatePicker讓用戶選擇一個出生日期,然後將其發送到我的sql數據庫。爲了做到這一點,我想將它轉換爲一個字符串,所以我可以將它添加到插入語句。問題是我的代碼似乎要麼返回值(空),要麼什麼都不會讓我的程序崩潰。UIDatePicker + NSDate返回空值

我.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 *chosen = [mydatepicker date],並試圖來轉換的許多變化,但我再次最終(null)在我的數據庫或一個空的單元格,使程序崩潰。

+2

最有可能你沒有把日期選擇器連接到你的'myDatePicker'插座。 – rmaddy

+0

@rmaddy您的先生是完全正確的。我覺得自己像一個白癡肯定,認爲使用mydatepicker.date將指定我正在使用的選擇器,但我猜不是,連接插座工作。非常感謝! – Ryan

回答

0

正如@rmaddy所述「很可能您沒有將日期選擇器連接到您的myDatePicker插座」。他是對的。進入我的故事板,瞧,那裏有一個沒有連接的插座。

+0

在iOS/Mac OS開發中,當某些東西不起作用時,應該首先檢查插座和動作連接。第二條規則也是檢查你的插座和動作連接。 :)在你停止浪費數小時之前,你必須被這個數十次咬傷。 –

0

在情況下,你的故事板有許多控制和複雜

簡單的方式,以確保你不使用NSAssert

例錯過任何

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

將墜毀注意你。這將節省您的工作時間