Hello!
Я начинаю с Xcode (и я французский, поэтому мой английский не очень жаль), и мне нужна ваша помощь, пожалуйста.
Мой проект состоит в том, чтобы сделать приложение, которое рассчитало бы мой средний класс для каждого школьного предмета (пять). Я использовал переменную NSUserDefaults
, чтобы сохранить мои оценки, но она не работает, и я не знаю почему.кнопка сохранить данные NSUserDefaults не работает
Это придает моему ViewController.h
для одной предметной школы (остальные довольно же, только изменения переменных)
#import <UIKit/UIKit.h>
@interface INF231ViewController : UIViewController{
IBOutlet UITextField *INF231CC1;
IBOutlet UITextField *INF231CC2;
IBOutlet UITextField *INF231ET1;
IBOutlet UITextField *INF231ET2;
IBOutlet UILabel *INF231moyenne;}
@property(nonatomic,retain) UITextField *INF231CC1;
@property(nonatomic,retain) UITextField *INF231CC2;
@property(nonatomic,retain) UITextField *INF231ET1;
@property(nonatomic,retain) UITextField *INF231ET2;
@property(nonatomic,retain) UILabel *INF231moyenne;
- (IBAction)INF231save:(id)sender;
- (IBAction)INF231calculer:(id)sender;
@end
И это ViewController.m:
#import "INF231ViewController.h"
@interface INF231ViewController()
@end
@implementation INF231ViewController
- (void)viewDidLoad {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
int INF231noteCC1 = [defaults integerForKey:@"INF231noteCC1"];
int INF231noteCC2 = [defaults integerForKey:@"INF231noteCC2"];
int INF231noteET1 = [defaults integerForKey:@"INF231noteET1"];
int INF231noteET2 = [defaults integerForKey:@"INF231noteET2"];
NSString *INF231noteCC1String = [NSString stringWithFormat:@"%i",INF231noteCC1];
NSString *INF231noteCC2String = [NSString stringWithFormat:@"%i",INF231noteCC2];
NSString *INF231noteET1String = [NSString stringWithFormat:@"%i",INF231noteET1];
NSString *INF231noteET2String = [NSString stringWithFormat:@"%i",INF231noteET2];
INF231CC1.text = INF231noteCC1String;
INF231CC2.text = INF231noteCC2String;
INF231ET1.text = INF231noteET1String;
INF231ET2.text = INF231noteET2String;
[super viewDidLoad];}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];}
- (IBAction)INF231save:(id)sender {
[INF231CC1 resignFirstResponder];
[INF231CC2 resignFirstResponder];
[INF231ET1 resignFirstResponder];
[INF231ET2 resignFirstResponder];
int INF231noteCC1 = [[INF231CC1 text] integerValue];
int INF231noteCC2 = [[INF231CC2 text] integerValue];
int INF231noteET1 = [[INF231ET1 text] integerValue];
int INF231noteET2 = [[INF231ET2 text] integerValue];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:INF231noteCC1 forKey:@"INF231noteCC1"];
[defaults setInteger:INF231noteCC2 forKey:@"INF231noteCC2"];
[defaults setInteger:INF231noteET1 forKey:@"INF231noteET1"];
[defaults setInteger:INF231noteET2 forKey:@"INF231noteET2"];
[defaults synchronize];
NSLog(@"Data saved");}
@end
Когда я нажимаю кнопка «сохранить» написана в Консоле «Данные сохранены», но Клавиатура не отключена, и данные исчезли.
Я также поставил фотографию Main.Storyboard
, чтобы вы могли видеть лучше 1. Если вам нужно все, чтобы выяснить, где проблема, и помочь мне решить ее, не стесняйтесь.
мне было интересно, тоже, если я должен использовать другую переменную для
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
из «* по умолчанию», хотя у меня есть другие данные, чтобы сохранить в других ViewController
для моей другой теме школы.
Большое спасибо, если вы нашли время, чтобы помочь мне!
версия Xcode 7.3.1
Версии прошивки: 9.3.3
Каков результат, когда вы регистрируете 'INF231noteCC1' на консоли? – FelixSFD
Я не знаю, как зарегистрировать INF231noteCC1 на консоли. – edajv
Если мой ответ сработал, вам не нужно его регистрировать. – FelixSFD