0

ストーリーボードを使用してアプリに取り組んでおり、ナビゲーションコントローラーが埋め込まれています。子ビューでは、ボタンが押されると、ビューを変更せずに親ビューコントローラーの関数を呼び出します。

[self.delegate buttonPressed];

子ビューのテキストビューのテキストを更新するメソッド。childviewcontroller.textViewName.text=@"何か"; しかし、テキストビューは更新されていません。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
[[segue destinationViewController] setDelegate:self];
}

簡単に言えば、親View Controllerで子View Controllerのテキストビューのテキストを変更したい場合、ストーリーボードを使用しているときにどのように設定すればよいですか。誰でも私にいくつかのアイデアを教えてもらえますか? はっきりと説明したかどうかはわかりません。私はまだこれに慣れていないので、このアプリを作りながら学んでいます。前もって感謝します。

4

1 に答える 1

0

これは紛らわしいですね。親 VC で関数を起動する必要がある場合は、必要なものを返すクラス メソッドを作成してから、その子 VC で次のようにします。

NSString *newText = [MyParentViewController getSomeData];
myTextView.text = newText;

またはさらに良いことに、VC のデータを取得する新しいクラスにそのクラス メソッドを配置します。これは、オブジェクト指向プログラミングとより一致します。

于 2012-07-13T15:46:57.277 に答える