0

私は配列(rArray)からデータを取得し、元のテキストフィールドに配置するこのコード(XCode 4、ARCでストーリーボードを使用)を持っています(データを編集したい)。配列 (rArray) には有効なデータが含まれていますが、テキスト フィールドには何もありません。私は何を間違っていますか?

SingletonListOfReadings *rShareInstance = [SingletonListOfReadings sharedInstance];
rArray *ra = [rShareInstance.listOfReadings objectAtIndex: indexPath.row];  //  get an rArray object out of listOfReadings

//  place data back into textfields
EnterDataViewController *edvc = [[EnterDataViewController alloc] init];
edvc.txtSTA1.text = ra.rSTA;
edvc.txtBS.text = ra.rBS;
edvc.txtFS.text = ra.rFS;
edvc.txtDesc.text = ra.rDesc;

[self.navigationController pushViewController:edvc animated:YES];
4

2 に答える 2

1

VC の UI テキスト要素は、入力しようとしてもまだ設定されていません ([self.navigationController pushViewController:edvc animation:YES]; の後にのみ設定されます); (および viewDidLoad を取得した場合にのみ設定されます)。

簡単な方法は、txtSTA1、txtBS、txtFS などを文字列に変更することです (それらが edvc .h ファイルにあることを確認してください)。

したがって、txtSTA1STR は edvc の .H ファイルの文字列であり、txtSTA は edvc の xib の (またはプログラムによる) UI テキスト要素です。

EnterDataViewController *edvc = [[EnterDataViewController alloc] init];
edvc.txtSTA1STR = ra.rSTA;
edvc.txtBSSTR= ra.rBS;
edvc.txtFSSTR= ra.rFS;
edvc.txtDescSTR= ra.rDesc;

[self.navigationController pushViewController:edvc animated:YES];

および edvc 内

- (void)viewDidLoad
{
   txtSTA1.text = txtSTA1STR;
   //... etc
}
于 2012-04-26T15:59:22.740 に答える
0

私はそれを修正しました... 元のコードを取得し、オブジェクトを処理するビュー コントローラー (edvc) に移動しました。次に、データが必要なView Controllerから呼び出しました。

正常に動作します...受信テキストフィールドのアドレス指定に問題があったと思います。

お世話になりました... ありがとうございます。

于 2012-04-26T19:13:28.467 に答える