私はしばらくの間それと格闘してきました。タブバーアプリケーションがあります。でnumber2を定義し、次にアプリを開いたときにプログラムに記憶されるようにSecondView
保存します。NSUserDefaults
以前FirstView
に保存したnumber2を含む計算(および回答の表示)を行いたいです。動作させられません。コードでは、これまでに機能しているものだけを残しました。どんな助けでも大歓迎です。
FirstViewController.h
#import <UIKit/UIKit.h>
#import "SecondViewController.h"
@interface FirstViewController : UIViewController {
IBOutlet UILabel *labelAnswer;
}
-(IBAction)buttonCalc;
@property(nonatomic, retain) UILabel *labelAnswer;
@end
FirstViewController.m
#import "FirstViewController.h"
#import "SecondViewController.h"
@interface FirstViewController ()
@end
@implementation FirstViewController
@synthesize labelAnswer;
-(IBAction)buttonCalc {
float number1 = 2;
//what should I put here (or somewhere else) to get number2 saved in second view?
float answer = number1;// + number2
labelAnswer.text = [[NSString alloc] initWithFormat:@"%f", answer];
}
SecondViewController.h
#import <UIKit/UIKit.h>
@interface SecondViewController : UIViewController {
IBOutlet UITextField *textNumber2;
NSUserDefaults *defaults;
}
-(IBAction)buttonSave;
@property(nonatomic, retain) UITextField *textNumber2;
@end
SecondViewController.m
#import "SecondViewController.h"
@interface SecondViewController ()
@end
@implementation SecondViewController
@synthesize textNumber2;
-(IBAction)buttonSave {
//saving my data
NSString *saveNumber2 = textNumber2.text;
defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:saveNumber2 forKey:@"savedNumber2"];
[defaults synchronize];
}
- (void)viewDidLoad
{
[super viewDidLoad];
//loading my data
defaults = [NSUserDefaults standardUserDefaults];
NSString *loadNumber2 = [defaults objectForKey:@"savedNumber2"];
[textNumber2 setText:loadNumber2];
}