当启动有问题的应用程序时,我从派生自plist的数组中加载表。在didSelectRowAtIndexPath中,我将数组中的值分配给详细视图控制器中的子视图,然后将详细视图控制器推入堆栈,但是在运行应用程序时,我第一次选择表中的任何行,都不会出现数组中的数据在我的详细信息视图控制器的子视图/字段中。然后,我单击返回表视图,重新选择该行,然后将数据加载到详细信息视图控制器中。
在表视图控制器的didSelectRowAtIndexPath方法中,我执行以下操作,其中xLabel是推送视图控制器的xib中的UILabel子视图:
self.detailViewController.xLabel.text = [[[xArray objectAtIndex: indexPath.section] objectForKey:@"xDesc"] objectAtIndex:indexPath.row];
我要怎么做才能使数据在第一次选择行时出现?
最佳答案
如果我正确理解您的知识,那么第一次没有xLabel对象,因为将在“加载” UIViewController时创建它。因此,当您尝试设置文本值时,由于没有标签,因此不会将其加载到标签中。从第一次尝试创建标签起,后续尝试就会起作用。无论如何,如果您需要与局部视图共享某些数据,则将其存储在字典或其他对象中,而不是直接从当前控制器将其直接分配给视图。
关于objective-c - 选择第一行时数据未加载到详细 View Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5696963/