У меня двойное время. Я не могу определить, почему я могу передать двойник методу в другом классе, но тот же метод не может запросить указанный двойник из класса, в котором он существует.
Мой заголовочный файл выглядит примерно так:
@property (nonatomic) double time;
Моя реализация выглядит примерно так:
@implementation MainVewController
@synthesize time;
- (void) viewDidLoad
{
startTime = NSDate.date;
}
- (double) returnTime {
NSLog (@"time is disappearing?? %f", time);
return time;
}
- (double) logTime {
NSLog (@"for some reason, this one is working and returns a value %f", time);
return time;
}
Мой другой класс запрашивает мой дубль:
@synthesize mainViewController = _mainViewController ;
- (MainViewController *)mainViewController {
if (!_mainViewController) _mainViewController = [[MainViewController alloc] init];
return _mainViewController;
}
- (BOOL)getTime {
double timeGotten = [self.mainViewController returnTime];
// why does this return 0?
return TRUE;
}
Переменная времени постоянно обновляется в MainVewController:
time = [[NSDate date] timeIntervalSinceDate: startTime];
time
может не существовать. Установите точку останова. Сначала попробуйте проверить, существует ли ваш self.mainViewController, затем проверьте значение времени и, пожалуйста, ВЕРНИТЕ его, если оно понадобитсяtimeGotten
. - person Legolas   schedule 21.06.2012