2010-09-21 80 views
0

我試圖從一個viewcontroller發送一個浮點到另一個。在多個視圖控制器之間傳遞一個浮點數

好吧我試過用NSUserDefaults來解決這個問題。首先我用一個字符串測試它,它的工作,但現在我正在努力做我的浮法相同。任何幫助,將不勝感激! :)繼承人我的代碼

在我firstviewcontroller.h文件我有

IBOutlet UITextField *nameField; 
IBOutlet UILabel *greeting; 
float RWI; 
float Liters; 

@property(nonatomic) float *Liters;` 
@property(nonatomic, retain); IBOutlet UILabel *greeting; 
@property(nonatomic, retain) IBOutlet UITextField *nameField; 

-(IBAction) updatePrefs:(id) sender; @property(nonatomic) float *RWI; ` 

在我的.m文件我有 浮動RWI; // @合成RWI; @synthesize Liters; @synthesize nameField,greeting;

-(IBAction) updatePrefs:(id) sender 
{ 
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; 
[prefs setObject:nameField.text forKey:@"greeting"]; 
[prefs setFloat:20 forKey:@"Liters"]; 
[prefs synchronize] 

那麼對於secondviewcontroller.h文件

IBOutlet UILabel *greeting; 
float *Liters; 
} 
@property(nonatomic, retain) IBOutlet UILabel *greeting; 
@end` 

在我的.m文件

@implementation secondviewcontroller 
@synthesize greeting; 
@synthesize Liters; 

- (void)viewDidLoad { 
[super viewDidLoad];NSString *prefs = 
[[NSUserDefaults standardUserDefaults] objectForKey:@"greeting"]; 
float Liters = [prefs floatForKey:@"Liters"]; 
greeting.text = prefs; 
}` 

爲什麼我的浮給出錯誤?任何幫助,將不勝感激! :)

回答

3

你遇到的錯誤是由於這樣的事實:prefs不是[NSUserDefaults standardUserDefaults]理所應當的,因爲在你前面的語句,你做

NSString *prefs = 
[[NSUserDefaults standardUserDefaults] objectForKey:@"greeting"]; 

因此,prefsNSString對象。您需要修改

float Liters = [prefs floatForKey:@"Liters"]; 

float Liters = [[NSUserDefaults standardUserDefaults] floatForKey:@"Liters"]; 
0

您可以通過委託類實現getter和setter方法從一個視圖傳遞一個浮點型變量另一種觀點。

在委託.h文件中

包含的UIApplication代表

@interface DevAppDelegate : NSObject <UIApplicationDelegate> 

float currentValue; 

- (void) setCurrentValue:(float) currentValue; 
- (float) getCurrentValue; 

在委託實現類的.m

-(void) setCurrentValue:(float) storydata{ 
currentValue = storydata; 
} 

-(float) getCurrentValue{ 
return currentValue; 
} 

所以你評估值在CurrentValue的制定者通過設置方法和類想要的值,只需使用getter方法即可。

全部最好

相關問題