0

あるビューコントローラーから別のビューコントローラーにフロートを送信しようとしています。

わかりました 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 ファイルには float RWI があります。//@synthesize RWI; @synthesize リットル; @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;  
}`

フロートでエラーが発生するのはなぜですか? どんな助けでも大歓迎です!:)

4

2 に答える 2

3

あなたが経験しているエラーは、あなたの前のステートメントであなたがしているので、あるべきでprefsはないという事実によるものです[NSUserDefaults standardUserDefaults]

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

したがって、prefsNSStringオブジェクトです。変更する必要があります

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

float Liters  = [[NSUserDefaults standardUserDefaults] floatForKey:@"Liters"];
于 2010-09-21T13:38:10.083 に答える
0

デリゲート クラスにゲッターとセッターを実装することで、あるビューから別のビューに float 変数を渡すことができます。

デリゲート .h ファイル内

UIApplicationデリゲートを含める

@interface DevAppDelegate : NSObject <UIApplicationDelegate>

float currentValue;

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

Delegate 実装クラス .m で

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

-(float ) getCurrentValue{
return currentValue;
}

したがって、評価する値は、値が必要なセッターメソッドとクラスによって currentValue に設定されます。ゲッターメソッドを使用するだけです。

ではごきげんよう

于 2010-09-21T14:18:34.490 に答える