讓我開始告訴你,我是Objective C的新手。我剛剛完成了Big Nerd Ranch的書,我想創建一個真正簡單而基本的應用程序以瞭解更多信息。 我的想法是創建一個應用程序,將計算兩個日期之間的星期。我爲此創建了一個類並進行了測試。這樣可行。UIDatePicker在UIViewControllers之間傳遞數據
正如您在下面看到的,我已創建視圖(以編程方式),一個包含日期和另一個將在您單擊開始日期或結束日期時變爲可見。
如果您選擇日期並點擊按鈕'計算週數',您將返回到第一個視圖。 沒有我的大問題是,我如何將這個選定的值返回到我的主屏幕?我已經嘗試了幾種可能性並在網上搜索信息,但我無法得到的是工作。 我知道這應該是很容易的,但對於我來說這不是。 :-)
我創建了一個包含值「開始日期」和「結束日期」的NSMutableArray。我的想法是將來自SelectDateView的UILabel的值添加到此數組中。 我爲此創建了一個屬性在輸入視圖@property (readwrite, retain) NSMutableArray *datesArray;
中。
在selectDateViewController我創建了另一個屬性@property (nonatomic, assign) BITInputViewController *ivc;
所以我(在我看來)可以爲datesArray添加一個值。
當我選擇一個日期這個方法被調用時,它適用於SelectDateView上的UILabel,但不會對datesArray做任何事情。
- (void)LabelChange:(id)sender{
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateStyle = NSDateFormatterMediumStyle;
dateLabel.text = [NSString stringWithFormat:@"%@",
[df stringFromDate:datePicker.date]];
[ivc.datesArray addObject:dateLabel.text];
if (ivc.datesArray) {
for (NSString *d in ivc.datesArray) {
NSLog(@"This is in datesArray %@",d);
}
}else NSLog(@"!ivc.datesArray");
}
當我測試應用程序並選擇日期,我總是看到「!ivc.datesArray」在日誌文件中。
我也做ivc.datesArray的此檢查在-(void)viewWillAppear:(BOOL)animated
,在這裏我看到當前的日期,因爲我在- (void)viewDidLoad
這個dateLabel.text = [NSString stringWithFormat:@"%@",[df stringFromDate:[NSDate date]]];
設置此日期(當我在inputview打印出來的陣列,它顯示開始日期和結束日期,但不是所選日期。)
希望有人可以給我一些指示。
您想在選擇之後立即將View2中的數據傳遞給View1嗎? – Ganapathy 2013-03-01 12:04:11
U可以使用自定義委託將數據從view2傳遞到view1 ..你試過了嗎? – Ganapathy 2013-03-01 12:08:13
嗨,我有一個導航欄中的按鈕,回到第一個視圖。我還沒有綁定一個自定義委託,因爲我不知道如何做到這一點。我將閱讀有關該..謝謝! – Eloy 2013-03-01 12:37:02