将选择器输出传输到另一个视图数组

时间:2011-09-11 15:06:57

标签: objective-c xcode

  

可能重复:
  xcode picker output into array

我有2个观点。

其中一个人有一个捡拾器,下面有一个按钮。

这是我的按钮代码:

    -(IBAction)buttonPressed
{
NSInteger suitRow = [doublePicker selectedRowInComponent:
                      kSuitComponent];
NSInteger numberRow = [doublePicker selectedRowInComponent:
                        kNumberComponent];
NSString *suit = [suitTypes objectAtIndex:suitRow];
NSString *number = [numberTypes objectAtIndex:numberRow];

NSString *message = [[NSString alloc] initWithFormat:
                     @"%@ of %@.",number, suit];
}

另一个视图有一个表格单元格ID,用于显示选择器输出。

具体来说,我需要将选择器输出(上面的*消息)插入到我的另一个视图中特定索引处的数组中,即与行号相关的索引。现在我已经对行号进行了排序。

我甚至知道一旦填充了数组该怎么处理。

请知道有人知道如何在选择器下按下按钮时如何将拾取器视图中的拾取器输出传输到我的其他视图阵列?

首先假设这是可能的吗?

2 个答案:

答案 0 :(得分:0)

这样做的一种方法是为视图创建一个委托方法,该方法具有按下按钮时触发的选择器,该按钮通过委托方法发送所选信息。

然后使显示视图的控制器实现委托方法,并在创建第二个视图控制器时将其设置为第二个视图控制器的委托。

我写了一篇简短的example project来证明这个代表团。它应该很容易看到它是如何工作的,并将其转换为使用选择器视图的结果。

答案 1 :(得分:0)

如果包含上面代码的对象有对包含数组的对象的引用,那么一个解决方案是使数组成为其包含对象的属性,然后在上面的代码中,有类似的内容:

[otherViewController.dataArray replaceObjectAtIndex:index withObject:message];

这假设您的数据数组是NSMutableArray。

听起来你正在导入其他视图控制器的标题,但实际上没有为它提供对象的引用。要完成该循环,请将属性添加到类型为otherViewController的选择器视图控制器类中(对不起,您还没有给出任何实现细节,所以我正在制作这些属性),当您从otherViewController创建/调用选择器视图控制器时,将此属性的值设置为self

示例伪代码,当你做任何事情来召唤选择器视图时:

 PickerViewController *pvc = [[PickerViewController alloc] init];
pvc.callingView = self;
pvc.index = selectedRowIndex;
// Then present and release your PickerViewController...