2012-01-20 72 views
0

我寫了一個應用程序,當日期即將到來時將提醒用戶。我有一個日期選擇器,我實施和我viewDidLoad方法保存使用此代碼輸入的日期:iOS:通知中心的警報問題

- (void)viewDidLoad { 


    NSDate *storedDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"DatePickerViewController.selectedDate"]; 


    [self.datePicker setDate:storedDate animated:NO]; 
} 

這是保存數據的方法:

- (IBAction)dateChanged:(id)sender { 

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

NSDate *selectedDate = [self.datePicker date]; 


[defaults setObject:selectedDate forKey:@"DatePickerViewController.selectedDate"];} 

我想

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
UILocalNotification *localNotif = [[UILocalNotification alloc] init]; 

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"mm'/'dd'/'yyyy"]; 
NSDate *eventDate=[dateFormatter dateFromString:datePicker]; 

localNotif.fireDate = [eventDate dateByAddingTimeInterval:-13*60*60]; 
localNotif.timeZone = [NSTimeZone defaultTimeZone]; 


localNotif.alertBody = @"Event tomorrow!"; 

localNotif.alertAction = nil; 

localNotif.soundName = UILocalNotificationDefaultSoundName; 
localNotif.applicationIconBadgeNumber = 0; 
[[UIApplication sharedApplication]presentLocalNotificationNow:localNotif];  

return YES; 

}

:使用此代碼日期前大約36的小時數有在通知中心警報

我的問題是在dateFromString:datePicker。我不知道該在那裏放什麼,我習慣於用文本字段而不是拾取器來做這件事。任何幫助非常感謝,謝謝!如果你想利用從UIDatePicker日期

UITextField *textField; 
[dateFormatter dateFromString:textField.text]; 

編輯

+1

你應該將你的通知相關問題分成一個新問題,通常這個網站上每個帖子應該有一個問題。 – esqew

+0

會這樣做,謝謝你的提示! – John

回答

1

如果你想從一個假設UITextField取文本中,dateFromString:參數設置爲東西沿着這些路線正如你在評論中描述的那樣,你可以這樣做:

UIDatePicker *picker; 
[dateFormatter stringFromDate:picker.date]; 
+0

實際上,在筆尖中沒有文本字段,是否可以直接從日期選取器中獲取數據? – John

+0

@ Joey502我已經更新了我對你新規範的回答。 – esqew

+0

非常感謝你! – John