我有这个代码(XCode 4,使用带有ARC的Storyboard),它从数组中获取数据(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];
答案 0 :(得分: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
}
答案 1 :(得分:0)
我修复了它...我拿了原始代码并将其移动到处理对象的View控制器(edvc)。然后我从视图控制器调用它,我需要数据。
工作得很好......我认为问题在于接收文本域的解决方案。
感谢您的帮助......我很感激。