1

これは簡単な質問のように思えますが、答えが見つかりません。

ユーザーが uitableview のセルに触れたときに、uitextview のテキストを変更したいだけです。

uitextview が何に変化するかは、テーブル内のどのセルをクリックするかによって異なります。

これは私がしようとしているものです:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
{
    myTextView.text = [myData2 objectAtIndex:indexPath.row];
}

ViewDidLoad で myTextView を初期化することで、myTextView が正常に動作することを確認するためにテストを行い、テキストが正常に表示されるようにしました。

また、裏話として... myArray という配列からのデータを含むテーブルがあります...セルの1つに触れると、ほとんどUITextViewだけで別の画面に移動し、別の配列myArray2から読み取りますクリックした行番号から、配列の対応する行まで。

このすべてを行うと、テキストは変更されません。

何か案は?

4

3 に答える 3

0

myTextViewは(IBOutlet)プロパティですか?もしそうなら、それは実際にアウトレットとしてInerface Builderの実際のIBオブジェクトにリンクされていますか?コードを変更するために単純な行を入力しても変更されないという事実に基づいて、そこに何かが間違っているように聞こえます(コメントに見られるように)

于 2012-12-14T12:45:41.740 に答える
0

私の推測では、あなたはあなたの代理人を適切に接続しました。デリゲートを接続していない場合、didSelectRowAtIndexPathメソッドは呼び出されません。

于 2012-12-14T12:46:40.157 に答える
0

質問に書いたことから、textviewは別のコントローラーにあると思います。そのため、まず、あるコントローラーのUIを別のコントローラーから直接更新することはできません。textviewを含むViewControllerでint型プロパティを作成し、そのintをindexPath.rowとして設定する必要があります。そのintをmyData2配列のobjectAtIndexとして使用します。textViewが実際に別のViewControllerにある場合は、いくつかの作業を行う必要があります

于 2012-12-14T13:37:12.260 に答える