在Segue之后NSString不向UITextField发送数据

时间:2012-05-31 18:58:43

标签: ios5 nsstring xcode4.2 uitextfield segue

这个问题在最近几天让我失望了,现在因为我浪费太多时间而感到烦恼。

我已经完成了NSLog(),看看发生了什么,看起来是正确的,但我无法理解为什么它不发送数据。 PrepareForSegue中的代码:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:id
{
    if ([[segue identifier] isEqualToString:@"Confirm"]) {
        NSLog(@"Preparing to Segue");
        SubmitEventsP2 *subEventVC = segue.destinationViewController;
        NSLog(@"Set destination VC to *subEventVC");
        NSDate *choice = [ datePick date];
        NSLog(@"Assign date from picker to *choice");
        NSDateFormatter *format = [[NSDateFormatter alloc] init];
        [format setDateFormat:@"dd/MM/yyy HH:mm"];
        NSLog(@"Set the format of date and time");
        NSString *formatteddate = [format stringFromDate:choice];
        NSLog(@"Store the date format in *formatteddate");
        [subEventVC setDateField:formatteddate];    //Incompatible pointer types sending "NSString *" to parameter of type "UITextField *"
        NSLog(@"Should send the date to the textField");
        //      NSString *viewchange = @"SubmitEventsP2" ;
        NSLog(@"%@",formatteddate);
    }
}

对此问题的任何帮助将不胜感激。

如果需要更多信息,请与我联系。

由于

编辑: 问题已经修改。

2 个答案:

答案 0 :(得分:0)

首先尝试在subEventVC中提供NSString属性,然后将其加载到该类的viewDidLoad上的textField中。我怀疑textField无法更新,因为它尚未创建。

答案 1 :(得分:0)

两件事:

  1. 您应该在setDateField

  2. 中使用[subEventVC setdateEvent...(注意日期中的大写字母D)
  3. 最后一行应该是:

    NSLog(@“%@”,formatteddate);

  4. 修改:

    由于dateField是一个文本字段,您实际上应该使用:

    [subEventVC.dateField setText:formatteddate];