Нечетное поведение с timeIntervalSince1970

Вы можете объявить указатель функции следующим образом:

bool (funptr*)();

Что говорит о том, что мы объявляем указатель функции на функцию, которая ничего не берет и возвращает bool.

Следующее назначение:

funptr = A;

Чтобы вызвать функцию с помощью указателя функции:

funptr();
8
задан Parrots 28 May 2009 в 23:09
поделиться

3 ответа

timeIntervalSince1970 возвращает NSTimeInterval, который является typedef для double; % d - неподходящий форматтер для печати двойника (вам нужен% f).

31
ответ дан 5 December 2019 в 04:58
поделиться

Поскольку результат [[NSDate date] timeIntervalSince1970]; является двойным, вы можете попробовать следующее:

NSString *nowTimestamp = [NSString stringWithFormat:@"%f", 
                         [[NSDate date] timeIntervalSince1970]];
5
ответ дан 5 December 2019 в 04:58
поделиться

Are you sure that the result from NSDate is a decimal int? The docs say it is a double. You could try casting.

Also, sometimes you will get a pointer value back instead of the actual value, if something is a NSNumber under the covers, you may need to use intValue, or doubleValue to get the actual content of what is at the address.

1
ответ дан 5 December 2019 в 04:58
поделиться