【发布时间】:2012-01-03 06:08:23
【问题描述】:
我在视图控制器页面中有一个选择器视图,例如视图控制器 1。现在我需要从另一个视图控制器(例如视图控制器 2)中的该选择器视图访问选定的字符串值。
这是因为,我有一个表格视图,它显示对应于 4 个组的保存数据,即我的应用程序是用户保存提醒的提醒应用程序,在视图提醒页面中可见。提醒由用户分别保存团体,比如朋友,家人,办公室等等......所以我之前在一个糟糕的编程环境中检索过,即
我使用了 4 个视图控制器来显示对应于 4 个组的提醒,例如,friendsViewController 用于使用查询显示对应于朋友的提醒
NSString *getQuery = [NSString stringWithFormat:@"SELECT * FROM reminders WHERE Grp = 'Friends' GROUP BY Name,Event,Date"];
对于家庭、办公室和熟人来说也是明智之举。因此,为了将糟糕的编程环境转变为良好的编程习惯,我有了一个使用查询的想法:
NSString *getQuery = [NSString stringWithFormat:@"SELECT * FROM reminders WHERE Grp = '%@' GROUP BY Name,Event,Date",**selected string value from the picker in previous view**];
请确定我正在尝试做的更改,即Grp = '%@'-该字符串是从前一个视图中的选取器视图中的行组件中选择的值。
我知道有两种可能的访问方式,
1.subclassing the view controller i.e.
@interface viewController2:viewController1,but I already have subclassed i.e.:
@interface viewController2:addReminderController ,so I cant subclass twice,I am not aware too!
2. Creating an instance object of the viewController1 i.e.
viewController1 *vC1 and I tried to access the groupPicker like [vC1.groupPicker selectedRowInComponent:row],
但正如我们所料,它会引发错误,即 row undeclared ,
我尝试访问数组,因为我已将 groupPicker 组件中的行数分配为 [self.groupArray count],因此我也尝试在 viewController2 中使用该策略,即:
[vC1.groupArray objectAtIndex:row],as expected the same error: **row undeclared**
那么我如何才能访问在先前视图中存在的选择器视图中选择的行(字符串),以便我可以表现出良好的编程习惯,这对于像我这样的新手来说是一个好兆头:)
请帮我提一些宝贵的建议
提前谢谢大家:)
【问题讨论】:
-
您是否希望从 Pickerview 中获取选定的值以及要在下一个视图中使用的字符串?
-
@KAREEMMAHAMMED 是的,请提供任何建议。感谢您的关注 :)
-
@EshwarChaitanya : 你为什么不用 appDelegate 来做你的应用程序?
-
@iCoder86 我的应用程序已经有了 appDelegate,请建议我现在该做什么,感谢您的评论 :)
标签: iphone uipickerview selectedindex