上の図では、3 つのビュー コントローラーを示しています。
ビュー コントローラA、B、およびCを、表示されている順に呼び出しましょう。
ビュー コントローラー Aは、テーブル セルをクリックして、解析された JSON データを渡します。これで「総売上、値引きなど」が埋まります。prepareForSegueメソッドを使用して、 View Controller B内の文字列/ラベル 。
このデータは開始時間/終了時間に基づいており、セグエを実行するときのデフォルト パラメータは、当日の午前 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の内部に、 「 Start Time 」というラベルの付いたボタンがあります。このボタンは、View Controller Cへのプッシュ セグエを開始します。この新しいView Controllerでは、日付と時刻を選択でき、日付ピッカーの上のUILabelに表示されます。日付ピッカーの下のボタンは IBAction であり、
[self.navigationController popViewControllerAnimated:YES];
私の質問は次のとおりです: View Controller Cで日付/時刻を選択し、ボタンを押して、 UILabel にあるその情報をView Controller Bに送信して、解析された情報を更新するために使用できるようにするにはどうすればよいですか?
これを行う方法の 1 つは、ボタンをView Controller Bにセグエし、日付/時刻の選択に基づいて情報を再解析することですが、それはあまりにも多くの「ナビゲーション コントローラーのスタック」を引き起こし、そうではありません。私には効率的に思えます。
任意の提案をいただければ幸いです。