对,我试图做一个应用程序,其计算涉及秒表。点击计算视图上的按钮时,秒表将从底部滑入。这一切都正常,我无法理解的问题是如何将记录的时间发送回前一个控制器来更新文本字段。iPhone幻灯片查看传递变量
我已经简化了代码并删除了大部分不相关的东西。
非常感谢。
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
这是做“正确”的方式吗?我使用主应用程序委托来处理它,但最好是让计算视图控制器成为定时器视图控制器的代表。你会用什么代码来做到这一点?谢谢你的帮助。 – sebastyuiop 2010-05-09 14:29:40
将添加详细信息以尽快解答。 – DyingCactus 2010-05-09 17:29:18
非常感谢,我会在早上给它一个去。 – sebastyuiop 2010-05-09 23:41:00