如何在单独的ViewController中使用位于Method中的float变量?

时间:2013-10-30 06:31:37

标签: ios iphone objective-c

我正在尝试将转换后的NSString值float传递给另一个ViewController,以便使用它来计算存储在其中的数据。

-(IBAction) save:(id)sender {
NSString *inputField = [[NSString alloc] initWithFormat: self.inputField.text];
 float sf = [inputField floatValue];
 NSLog(@"The Value of inputField is %5.2f", sf);

}

这只是代码的缩短版本,它保存了输入值并将其存储在NSString中,然后将其转换为float值,然后必须在firstViewController中使用它与类似的Converted一起使用NSString为浮点变量。

我如何使用它:

  float sf;

在另一个ViewController中,但仍然保持其新值减少? 我可以看到这个浮点值包含NSLog的值(@“%5.2f”,sf);并且仍然希望在最初实现它的地方使用它。可能在多个ViewControllers中。

2 个答案:

答案 0 :(得分:0)

使用 Singleton Pattern 并将变量放在Singleton类中。通过Singleton Instance从整个应用程序中使用该变量。

这是在全局变量中使用 Singleton Pattern 的指南。


修改 以下是适用于iOS的Singleton教程的一些有用链接:

  1. Singletons in Objective-C
  2. 3 ways to implement Singleton pattern in Objective-C
  3. Fundamental iOS design patterns: SharedInstance

答案 1 :(得分:0)

在app delegate中将float声明为Property 当@property float sf;合成它时。

然后填写你想要的地方并获取此属性你可以在其他视图控制器中使用appdelegate的singelton作为

AppDelegate * delegate=(AppDelegate *)[[UIApplication sharedApplication]delegate];
 NSLog(@"%@",delegate.sf);