2010-01-10 155 views
2

我尝试从一个视图传递一个NSString到另一个视图,但我没有工作。我在SecondViewController设置的NSString财产不能通过一个NSString从一个视图到另一个视图

@property (assign) NSString * wert1; 

当我加载SecondViewController与上FirstViewController按钮按下,我尝试通过的NSString:

SecondViewController *Second = [[SpinViewController alloc] initWithNibName:nil bundle:nil]; 
Second.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"black.png"]]; 
[Second setWert1:texteingabe1]; //HERE <<<< 
Second.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:Second animated:YES]; 
[Second release]; 

在SecondViewController我做这:

NSLog(@"%@",wert1); 

但NSLog只是说:(空)。为什么?

感谢您的帮助,并为我的糟糕英语感到抱歉。

回答

0

得到了解决方案。我只是移动setWert1代码下的后台代码,现在它工作:)

+0

任何洞察它为什么它的作品将是伟大的... – 2010-01-10 23:41:50

3

你在哪里致电NSLog声明?如果它在loadViewviewDidLoad,它将不起作用,因为在您的示例中调用setWert1:之前调用了这些方法。

此外,还要确保你不将其设置为零的NSLog之前别的地方叫,当然,在传递时,它确保texteingabe1,其实,不是零。

1

它如果你设置一个原始的字符串文字工作? I.e [Second setWert1:@“Foo”]?在没有看到更多代码的情况下,在第二个视图中,字符串值为NULL的最可能的原因是您为“texteingabe1”传递了一个NULL字符串。

+0

不行,对不起。 – Flocked 2010-01-10 23:34:02

1

您需要在第二个控制器中复制或保留字符串。使用@property关键字“retain”而不是“assign”。

赋值只是将字符串赋值给第二个...中的实例成员,然后当字符串在第一个控制器中释放时,它也从第二个中消失。

+0

不适用于保留。 – Flocked 2010-01-10 23:35:07

相关问题