Глобальная переменная NSDate - PullRequest
       0

Глобальная переменная NSDate

1 голос
/ 26 октября 2010

Я пытаюсь использовать переменную NSDate, захваченную другим методом.После долгих чтений и поисков я подумал, что нашел ответ на этом сайте: http://www.everydayone.com/2009/08/nsdate-as-global-variable/. Сначала я попытался объявить переменные в AppDelegate.h, как указано в статье.Результатом было 2 ошибки в файле реализации ViewController: firstDate и startDate undeclared.Затем я попытался объявить их в ViewController.h, что позволило скомпилировать код без ошибок.Однако, когда метод работает, как показано ниже, приложение вылетает, и я получаю следующее сообщение "GDB: Программа получила сигнал: EXC_BAD_ACCESS".Если я раскомментирую строку «NSDate * today» и использую эту переменную вместо secondDate, код работает нормально.Ваша помощь будет принята с благодарностью.

.h:

@interface DatesViewController : UIViewController { 
    NSDate      *firstDate;
    NSDate      *secondDate;
}

@property (nonatomic, retain) NSDate *firstDate;
@property (nonatomic, retain) NSDate *secondDate;

.m:

@synthesize firstDate;
@synthesize secondDate;

-(IBAction)getFirstDate:(id)sender{
    firstDate = [picker date];
}


-(IBAction)getSecondDate:(id)sender{
    secondDate = [picker date];
    //NSDate *today = [[NSDate alloc] initWithTimeIntervalSinceNow:0];
    NSTimeInterval interval = [firstDate timeIntervalSinceDate: secondDate];

1 Ответ

0 голосов
/ 26 октября 2010

Попробуйте ссылаться на firstDate и secondDate как

self.firstDate;
self.secondDate;

Также убедитесь, что нет способа вызвать getSecondDate () перед getFirstDate ();вы не проверяете, существует ли firstDate или инициализируется в getSecondDate ()

...