2011-08-02 8 views
5

W Symulatorach iOS 4.3 poniższy kod zwraca bardzo małą liczbę: 1e-700 na GCC 4.2, ale działa zgodnie z oczekiwaniami na LLVM-GCC 4.2. Jakieś pomysły?- [NSDate timeIntervalSinceDate:] zwraca bardzo małą liczbę na GCC 4.2, ale działa zgodnie z oczekiwaniami na LLVM-GCC 4.2 na symulatorze iOS4.3

NSDate *selectedDate = self.datepicker.date; // guaranteed to be before now 
NSTimeInterval interval = [nowDate timeIntervalSinceDate:selectedDate]; 

te wartości zmieniają się z każdym biegu, ale tutaj jest przykład ustawić wyjścia

SelectedDate: 1981-06-02 16:27:34 +0000

nowDate: 2011-08-03 05:18:36 +0000

przedział: 5.489011535689859e-277

działa [nowDate timeIntervalSinceDate:selectedDate] w GDB: 952001462.97236204 (jest to moja oczekiwana wartość)

+0

W jaki sposób określasz, że 'interwał' zawiera 1e-700 w GCC 4.2? –

+0

Drukuję w GDB za pomocą następującego polecenia: interwał p (NSTimeInterval) –

+0

Czy możesz wyświetlić wartości wybranychData i nowData podczas wykonywania tego testu? –

Odpowiedz

0

To może być błąd w GCC. Myślę, że powinieneś wypełnić raport o błędach i zobaczyć, co ma do powiedzenia Apple.

+1

Dzięki. Zgłosiłem to. –

+0

Przetestowałem ponownie na iOS 5.1 i nie mogę powtórzyć problemu. –

-1

Nieoczekiwana wartość jest przepełnieniem.