JSON ファイルに基づいて ViewController を動的に作成するプロジェクトをセットアップしようとしています。先日こちらの作り方について質問させていただきました
そのため、ViewController を動的に作成することができました。さらにいろいろ試してみたところ、非常に簡単にセットアップできたので、アプリが読み込まれると、JSON で指定された ViewController の数が生成されます。それらの間を簡単にナビゲートすることもでき、JSON から各画面にボタンやビューなどを設定することもできます。私はこれを単に行うことで行います
NSDictionary *MainJSON = [sJson JSONValue];
NSArray *theArray = [MainJSON valueForKey:@"viewControllers"];
次に、ViewController インスタンスを作成する theArray をループします。
私の問題は、ViewController 間でデータを受け渡しできるようにしたいということです。たとえば、JSON で設定して、最初の ViewController にテキスト フィールドがあるとします。ユーザーはいくつかのデータを入力し、次の画面に移動したときにそのデータが次の画面に運ばれるように設定できるようにしたいと考えています。私は現在、このように画面を切り替えます
-(void)nextScreen
{
for(int i = 0; i < [vcArray count]; i++)
{
int iID = i+1;
if([self.navigationController.viewControllers count] == iID)
{
ViewController *theVC = [vcArray objectAtIndex:i];
[self.navigationController pushViewController:theVC animated:YES];
break;
}
}
}
現在、通常、各ViewControllerにはクラスがあるため、プッシュしているViewControllerで、そのクラスでプロパティを実行してNSStringを合成できるため、次のViewControllerにデータを渡すときに、これを行うだけです。
vc.theString = textField.text
しかし、これらのViewControllerを動的に生成しているため、.hおよび.mファイルを1つしか使用しておらず、生成した各ViewControllerが同じXIBファイルを使用しているため、これを行うことはできません。この設定でデータを渡す方法について誰か考えがありますか?