コンテナビューがあり、その下に保存ボタンがあるビューコントローラ(vc1)があります。コンテナビューは、静的セルを持つテーブルビューコントローラ(tvc1)に埋め込まれます。各セルにはラベルとテキストフィールドがあります。 私はvc1のtvc1のテキストフィールドの内容を取得しようとしています。 VC1でコンテナビューのtableviewコントローラ要素にアクセスできない
Prepareforセグエ: は、私は2つの方法を試してみました、私は「と呼ばれる埋め込みセグエ」のプリントを取得しています
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"prepare for segue called in settings view controller.");
NSString * segueName = segue.identifier;
if ([segueName isEqualToString: @"embedseguesettings"]) {
NSLog(@"embed segue called ");
settingsTableViewController *tvc1 = (settingsTableViewController *)segue.destinationViewController;
tvc1.surlTextField.text = @"i got u ";
}
}
を、しかしtvc1でテキストフィールドは、「私はUを得た」私のテキストで更新されていません。私はtvc1オブジェクトを正しく持っていますか?
VC1でのインスタンス化のtvc1:
- (IBAction)save:(id)sender {
settingsTableViewController *tvc1 = [self.storyboard instantiateViewControllerWithIdentifier:@"settingsTableView"];
NSLog(@"surl textfeild = %@",tvc1.surlTextField.text);
}
しかし、私は常に出力としてnullを取得します。私はいくつかのテキストを打ち込んで、テキストフィールドを押して保存します。私はいつもヌルになる。
settingsTableViewControllerはコンテナビューのテーブルビューコントローラであり、セクションの数とそのクラスの行は設定していません。セルをデキューする必要がありますか?その静的なテーブルビューです。
が完璧です。どうもありがとう。 – CodeTry
しかし、2番目の方法では、私はストーリーボードを通してtvc1をインスタンス化しようとしていますが、この時点ではtvc1は既に表示されており、ロードされています。テキストフィールドが表示されないのはなぜですか? – CodeTry
View Controllerをインスタンス化すると、そのクラスの新しいインスタンスが作成されます。 –