對,我試圖做一個應用程序,其計算涉及秒錶。點擊計算視圖上的按鈕時,秒錶將從底部滑入。這一切都正常,我無法理解的問題是如何將記錄的時間發送回前一個控制器來更新文本字段。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