0

我有这段代码(XCode 4,使用带有 ARC 的 Storyboards),它从数组(rArray)中获取数据并将其放置在它最初来自的文本字段中(我想编辑数据)。数组 (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 animated: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)上。然后我从需要数据的视图控制器中调用它。

工作正常...我认为问题在于接收文本字段的寻址。

谢谢你的帮助......我很感激。

于 2012-04-26T19:13:28.467 回答