Чтобы найти разницу между двумя разами - PullRequest
0 голосов
/ 17 марта 2012

Я хочу получить разницу между двумя разами.

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self setCurrentQuestion];
}


-(void)setCurrentQuestion{

    dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateStyle:NSDateFormatterMediumStyle];
    [dateFormatter setTimeStyle:NSDateFormatterMediumStyle];
    [dateFormatter setTimeZone:[NSTimeZone localTimeZone]];
    startTime = [dateFormatter stringFromDate:[NSDate date]];
    date1 = [dateFormatter dateFromString:startTime];

    [self answerTapped];  
}

-(void)answerTapped{
            endtime = [dateFormatter stringFromDate:[NSDate date]];
            date2 = [dateFormatter dateFromString:endtime];
            [dateFormatter release];
            dateFormatter = nil;

            NSTimeInterval * timeDifference =[date2 timeIntervalSinceDate:date1];


}

Я использую этот код, чтобы получить разницу между временем начала и временем окончания, но я получаю ошибку как "Inintializing" NSTimeInterval *'(он же double ') с выражением несовместимого типа 'NSTimeInterval' (он же 'double ') "в" NSTimeInterval * timeDifference = [date2 timeIntervalSinceDate: date1]; "line.Что означает эта ошибка?Как решить это?Или, пожалуйста, скажите мне, как я получу разницу во времени?Пожалуйста, помогите.

1 Ответ

4 голосов
/ 17 марта 2012

Звездочка.Вы объявляете timeDifference как указатель на NSTimeInterval.Это просто удвоение, как вы правильно указали.Просто измените на:

NSTimeInterval timeDifference =[date2 timeIntervalSinceDate:date1];

Кроме того, я думаю, что ваши даты и строки выходят слишком рано.Самое простое, что можно сделать, это объявить свойства для ваших дат.Для предварительной ARC:

@property (retain, nonatomic) NSDate * date1;
@property (retain, nonatomic) NSDate * date2; 

или для ARC:

@property (strong, nonatomic) NSDate * date1;
@property (strong, nonatomic) NSDate * date2; 

Затем назначьте с помощью оператора точки, как это:

self.date1 = [NSDate date];

Вам не нужноэти строки вообще.

...