寻找数据传输和数据访问

时间:2013-06-27 21:56:43

标签: xcode segue data-transfer

西洛!

我觉得自己真的很傻求助,但是哦,我的第一个Xcode项目陷入困境。

所以我正在创建一个计算器,我创建了一个方法,将两个结果输出到两个STrings

-(IBAction)calculate:(id)sender {


(...)


stringResult=[[NSString alloc]
                            initWithFormat:@"%1.2d",intResult];
stringTimeResult=[[NSString alloc]
                        initWithFormat:@"%1.2d",intTimeResult];


[stringTimeResult release];
[stringResult release];

 }

我已准备好Segue在新视图上将两个字符串转换为两个标签,为给定的计算创建一个表单或结果。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
NSLog(@"prepareForSegue: %@", segue.identifier);
if([segue.identifier isEqualToString:@"Answer"])
{
[segue.destinationViewController setTransferStr:stringTimeResult];
[segue.destinationViewController setTransferStr2:stringResult];
}

视图确实加载了新控制器

- (void)viewDidLoad
{
[super viewDidLoad];
self.TimeResult.text = self.transferStr;
self.Result.text = self.transferStr2;
}

然而,我遇到了很多麻烦!请原谅我缺乏知识,但我无法理解!

主要的一点是计算的答案显示在下一个视图控制器的两个标签上!

提前感谢您的帮助

格雷斯

1 个答案:

答案 0 :(得分:0)

有2个视图控制器“vcA”和“vcB”,由segue连接称为“AtoBSegue” 现在你有一些想要从vcA传输的数据 - > AtoBSegue - > VCB:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if([segue.identifier isEqualToString:@"AtoBSegue"]){
        vcB *viewcontrollerB = (vcB*)segue.destinationViewController;
        viewcontrollerB.labelAtvcB = self.labelAtvcA.text; //labelAtvcB is the label from vcB, labelAtvcA is the label from vcA.
    }
}

注意:请在vcB(目标视图控制器)中使用labelAtvcB时定义确切的名称