2013-02-19 115 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