0

私はしばらくの間それと格闘してきました。タブバーアプリケーションがあります。で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];
}
4

2 に答える 2

1

これを使用して、それはあなたを助けるかもしれません

-(IBAction)buttonCalc {
    float number1 = 2;

//what should I put here (or somewhere else) to get number2 saved in second view?

   NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
   NSString *loadNumber2 = [defaults objectForKey:@"savedNumber2"]; 
  NSInteger number2=[loadNumber2 integerValue];
   float answer = number1 + number2;
    labelAnswer.text = [[NSString alloc] initWithFormat:@"%f", answer];
}
于 2012-11-24T06:02:29.350 に答える
0

あなたはそれがあなたを助けることを願ってあなたのメソッドで次のコードを試してみてください...

-(IBAction)buttonCalc {
    float number1 = 2;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSString *strNumber2 = [defaults objectForKey:@"savedNumber2"];

    float number2 = [strNumber2 floatValue];

//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];
}
于 2012-11-24T05:59:32.310 に答える