À droite, j'essaie de faire une application qui a un calcul qui implique un chronomètre. Lorsqu'un bouton de la vue de calcul est cliqué, un chronomètre glisse à partir du bas. Tout cela fonctionne très bien, le problème que je n'arrive pas à résoudre est de savoir comment renvoyer l'heure enregistrée au contrôleur précédent pour mettre à jour un champ de texte. J'ai simplifié le code et supprimé la plupart des choses non pertinentes.Diapo de l'iPhone en passant les variables
Merci beaucoup.
CalculationViewController.h
#import <UIKit/UIKit.h>
@interface CalculationViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
IBOutlet UITextField *inputTxt;
}
@property (nonatomic, retain) UITextField *inputTxt;
- (IBAction)showTimer:(id)sender;
@end
CalculationViewController.m
#import "CalculationViewController.h"
#import "TimerViewController.h"
@implementation CalculationViewController
- (IBAction)showTimer:(id)sender {
TimerViewController *timerView = [[TimerViewController alloc] init];
[self.navigationController presentModalViewController:timerView animated:YES];
}
TimerViewController.h
#import <UIKit/UIKit.h>
@interface TimerViewController : UIViewController {
IBOutlet UILabel *time;
NSTimer *myTicker;
}
- (IBAction)start;
- (IBAction)stop;
- (IBAction)reset;
- (void)showActivity;
@end
TimerViewController.m
#import "TimerViewController.h"
#import "CalculationViewController.h"
@implementation TimerViewController
- (IBAction)start {
myTicker = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(showActivity) userInfo:nil repeats:YES];
}
- (IBAction)stop {
[myTicker invalidate];
#Update inputTxt on calculation view here
[self dismissModalViewControllerAnimated:YES];
}
- (IBAction)reset {
time.text = @"0";
}
- (void)showActivity {
int currentTime = [time.text intValue];
int newTime = currentTime + 1;
time.text = [NSString stringWithFormat:@"%d", newTime];
}
@end
Quelle est la "bonne" façon de le faire? Je l'ai fait fonctionner en utilisant le délégué principal de l'application mais j'aurais préféré que le contrôleur de vue de calcul soit un délégué du contrôleur de vue du minuteur. Quel code utiliseriez-vous pour faire ceci? Merci de votre aide. – sebastyuiop
Va ajouter des détails pour répondre rapidement. – DyingCactus
Merci beaucoup pour ça je vais essayer le matin. – sebastyuiop