-2

我正在尝试将转换后的 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 中,然后将其转换为浮点值,然后必须在 firstViewController 中使用它以与类似的 Converted NSString 一起使用浮动变量。

我该如何使用它:

  float sf;

在另一个 ViewController 中,但仍然持有要递减的新值?我可以看到这个浮点值在 NSLog(@"%5.2f", sf); 中保存了一个值。并且仍然希望在它最初实施的地方以外的地方使用它。可能在多个 ViewController 中。

4

2 回答 2

0

将浮动声明为应用程序委托中的属性以@property float sf;合成它。

然后在你想要的地方填充它并访问这个属性你可以在其他视图控制器中使用 appdelegate 的单例作为

AppDelegate * delegate=(AppDelegate *)[[UIApplication sharedApplication]delegate];
 NSLog(@"%@",delegate.sf);
于 2013-10-30T06:45:05.737 回答
0

使用单例模式并将变量放在该单例类中。通过单例实例从整个应用程序中使用该变量。

在需要全局变量的任何地方使用单例模式是一个指南。


编辑: 这里有一些有用的 iOS 单例教程链接:

  1. Objective-C 中的单例
  2. 在 Objective-C 中实现单例模式的 3 种方法
  3. 基本的 iOS 设计模式:SharedInstance
于 2013-10-30T06:35:24.880 回答