我嘗試做以下訪問:目標C - 不能在一個方法設定值,並從另一個
1)用戶點擊按鈕開始,它運行startTimer
方法,它設置了一個新[NSDate date]
。
2)用戶點擊按鈕停止它運行stopTimer
方法,其中檢索[NSDate date]
值。
我無法獲得第2步的工作。我已將其設置在.h
文件中。如果我將start方法中的代碼複製到停止方法中,它將起作用。所以,我可以設置[NSDate date]
。但是,這不是我想要的。我希望能夠在startTimer
方法中設置它。我如何去做這件事?
.h文件中
@interface StartTest : UIViewController {
IBOutlet UILabel *timer;
NSDate *startNSDate;
NSDate *start;
}
- (IBAction)startTimer;
- (IBAction)stopTimer;
- (NSDate *)setStart;
- (NSDate *)getStart;
@end
.m文件:
@implementation Ash
- (IBAction)startTimer {
startNSDate = [NSDate date];
}
- (IBAction)stopTimer{
start = [NSDate date];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy"];
NSString *stringFromDate = [formatter stringFromDate:startNSDate]; // <<< this is where it fails
NSLog(@"stringfromdate: %@", stringFromDate);
}
我得到這個錯誤:'主題1:與startTimer線在那裏我有startNSDate – slycat
我可以設置一個varaible(如果它是一個的NSString)與startTimer和stopTimer檢索程序收到信號EXC_BAD_ACCESS' - 我有NSDate有什麼特別的事情嗎? – slycat
爲什麼@ interface和@中的名稱實現不同? – yoninja