如何将日期值传递给另一个类

时间:2013-02-19 04:52:58

标签: ios objective-c xcode

我能够将整数值传递给另一个类,但日期呢?我使用以下代码传递整数:

-(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;
    }
}

我的问题是用户在我的Step1类中输入了带有UIDatePicker的日期,但是如何将日期传递给Step2类?任何帮助将不胜感激。

6 个答案:

答案 0 :(得分:1)

只需在Step2ViewController中声明另一个NSDate属性,并像设置infoRequest一样设置它

答案 1 :(得分:0)

您可以在step2类中获取date类型的属性(@property(nonatomic,retain)NSDate * step2Date;)。转换到step2类时,在step2类中将datePicker值指定为date属性。

step2ClassObject.step2Date = datePicker.date;

答案 2 :(得分:0)

由于UIStoryboardSegue提供了sourceViewController和destinationViewController,因此您可以从存储在源中的属性中获取任何值,并将其放入目标中的属性。使用NSUserDefaults在控制器之间传输日期并不是最佳选择,因为它将存储在闪存上的会话之间,实际上并不是为此目的而构建的。

答案 3 :(得分:0)

在Step2ViewController中创建一个NSDate属性,并在Step1类中为该Step2日期实例设置UIDatePicker日期。

使用此链接获取更多详细信息:

http://www.scott-sherwood.com/ios-5-storyboards/

答案 4 :(得分:-1)

你可以使用

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

存储日期,您可以使用以下方法在下一课中使用:

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

有关详细信息,请回复我

答案 5 :(得分:-1)

如果希望在类或其他视图控制器外部访问属性,则可以创建属性。

以这种方式创建属性。 @property(nonatomic,retain)NSString * strData;然后你也可以在其他视图控制器中使用这个数组值。

属性替换对象的访问器方法。

参考这个问题的答案my asnwer