在上面提供的图片中,显示了三个视图控制器。
让我们按照显示的顺序调用视图控制器A、B和C。
View Controller A通过单击表格单元格来传递解析的 JSON 数据。这填满了“总销售额、折扣等”。使用prepareForSegue方法在视图控制器 B内的字符串/标签 。
此数据基于开始时间/结束时间,执行 segue 时的默认参数提供当天上午 8 点到晚上 10 点的信息。
解析字符串看起来像这样
NSDate *currentDate = [NSDate date];
NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init];
[dateformatter setDateFormat:@"YYYY-MM-dd"];
NSString *theDate = [dateformatter stringFromDate: currentDate];
NSString *salesStr = @"http://";
salesStr = [salesStr stringByAppendingString:host];
salesStr = [salesStr stringByAppendingString:@":8080/sales.php?password="];
salesStr = [salesStr stringByAppendingString:pass];
salesStr = [salesStr stringByAppendingString:@"&db="];
salesStr = [salesStr stringByAppendingString:db];
salesStr = [salesStr stringByAppendingString:@"&sdate="];
salesStr = [salesStr stringByAppendingString:theDate];
salesStr = [salesStr stringByAppendingString:@"%2008:00:00&edate="];
salesStr = [salesStr stringByAppendingString:theDate];
salesStr = [salesStr stringByAppendingString:@"%2022:00:00"];
在View Controller B内部,您会注意到一个标有“开始时间”的按钮。此按钮启动到View Controller C的push segue。在这个新的视图控制器中,您可以选择日期和时间,它会显示在日期选择器上方的 UILabel 中。日期选择器下方的按钮是 IBAction 并使用
[self.navigationController popViewControllerAnimated:YES];
我的问题是:如何在View Controller C中选择日期/时间,按下按钮,并将位于 UILabel 中的信息发送到View Controller B以便它可以用于更新解析的信息?
我能想到的一种方法是让按钮 segue 到View Controller B,并根据日期/时间选择重新解析信息,但这只会导致过多的“导航控制器堆叠”并且不会对我来说似乎很有效。
任何建议表示赞赏。