2013-02-19 73 views
0

我可以將整數值傳遞給另一個類,但日期呢?我使用下面的代碼傳遞整數:如何將日期值傳遞給另一個類

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([[segue identifier] isEqualToString:@"toStep2"]) { 
     Step2ViewController *detailViewController = [segue destinationViewController]; 

     NSLog(@"text : %@",self.wrp.text); 
     //This is the id infoRequest, which is a pointer to the object 
     //Look at the viewDidLoad in the Destination implementation. 
     detailViewController.infoRequest = self.wrp.text; 
    } 
} 

我的問題是用戶輸入的,在我的第一步類的UIDatePicker一個日期,但如何日期被傳遞到第二步類?任何幫助,將不勝感激。

回答

1

只是簡單地聲明在Step2ViewController另一NSDate的屬性,並設置它就像你設置infoRequest

+0

我做到了,但現在我得到一個錯誤:「不兼容的指針類型分配給‘的NSDate * _strong’從‘的NSString *’」 – 2013-02-19 05:13:24

+0

好吧, Eric,祝你好運%) – 2013-02-19 05:24:48

-1

可以使用

[[NSUserDefaults standardUserDefaults] setObject:lastUpdated forKey:@"dateUpdated"]; 

存儲日期,你可以用用,在下一堂課:

[[NSUserDefaults standardUserDefaults] objectForKey:@"dateUpdated"]; 

更多細節還原我

+1

通過NSUserDefaults進行內部通信是一種不好的編程風格。這將導致不必要的I/O和能源消耗以及額外的閃存空間。 – 2013-02-19 05:10:04

0

你ç在step2類中獲取類型date的屬性(@property(nonatomic,retain)NSDate * step2Date;)。在過渡到step2類時,將step2類中的datePicker值分配給日期屬性。

step2ClassObject.step2Date = datePicker.date;

0

由於UIStoryboardSegue提供了sourceViewController和destinationViewController,您可以從存儲在源中的屬性中獲取任何值,並將其放置到目標中的屬性。使用NSUserDefaults來傳輸控制器之間的數據不是最好的選擇,因爲它將存儲在閃存會話之間,實際上並不是爲此目的而構建的。

-1

如果您希望可以在課程或其他視圖控制器之外訪問它們,您可以創建屬性。

以這種方式創建財產。 @property(nonatomic,retain)NSString * strData;然後您也可以在其他視圖控制器中使用此數組值。

屬性替換對象的訪問器方法。

從這個問題的答案參考my asnwer

+0

你們是否認真地建議使用NSUserDefaults來在類之間傳遞值?看起來像IT行業中的麻煩...... – 2013-02-19 05:13:36

+0

我已經給出了兩個選項哪一個可行並且滿足您的要求,您可以使用。 – Nirav 2013-02-19 05:31:21

+0

我編輯了我的答案。 – Nirav 2013-02-19 05:37:29