Re: NSTimer +timerWithTimeInterval:
Re: NSTimer +timerWithTimeInterval:
- Subject: Re: NSTimer +timerWithTimeInterval:
- From: Carl Hoefs via Cocoa-dev <email@hidden>
- Date: Wed, 29 Apr 2020 14:26:48 -0700
I accept that NSTimer works as documented! But I allege there must be something
odd about my (inherited) project that I can't quite put my finger on.
Perhaps the +timerWithTimeInterval: method is overridden...
-Carl
> On Apr 29, 2020, at 2:15 PM, Alex Zavatone <email@hidden> wrote:
>
> I used your code in an iOS project and it works as expected.
>
> 2020-04-29 16:14:02.254107-0500 Timer[83275:13268128] Wed Apr 29 16:14:02 2020
> 2020-04-29 16:14:03.254048-0500 Timer[83275:13268128] Wed Apr 29 16:14:03 2020
> 2020-04-29 16:14:04.253957-0500 Timer[83275:13268128] Wed Apr 29 16:14:04 2020
> 2020-04-29 16:14:05.254170-0500 Timer[83275:13268128] Wed Apr 29 16:14:05 2020
> 2020-04-29 16:14:06.254490-0500 Timer[83275:13268128] Wed Apr 29 16:14:06 2020
> 2020-04-29 16:14:07.254570-0500 Timer[83275:13268128] Wed Apr 29 16:14:07 2020
> 2020-04-29 16:14:08.254651-0500 Timer[83275:13268128] Wed Apr 29 16:14:08 2020
> 2020-04-29 16:14:09.253715-0500 Timer[83275:13268128] Wed Apr 29 16:14:09 2020
> 2020-04-29 16:14:10.254741-0500 Timer[83275:13268128] Wed Apr 29 16:14:10 2020
>
> I’ll mail you the project offlist.
>
>
>
>> On Apr 29, 2020, at 4:07 PM, Carl Hoefs via Cocoa-dev
>> <email@hidden <mailto:email@hidden>> wrote:
>>
>> On Apr 29, 2020, at 1:53 PM, Carl Hoefs via Cocoa-dev
>> <email@hidden <mailto:email@hidden>> wrote:
>>>
>>> On Apr 29, 2020, at 1:43 PM, Steve Mills via Cocoa-dev
>>> <email@hidden <mailto:email@hidden>
>>> <mailto:email@hidden <mailto:email@hidden>>>
>>> wrote:
>>>>
>>>> On Apr 29, 2020, at 15:36:23, Carl Hoefs via Cocoa-dev
>>>> <email@hidden <mailto:email@hidden>> wrote:
>>>>>
>>>>> When I issue NSTimer's +timerWithTimeInterval::::: method, I'm getting
>>>>> unexpected timer firing times (20X faster than expected).
>>>>>
>>>>> ∙ If I specify 1.0 for the time interval, my method gets called 20
>>>>> times/sec.
>>>>> ∙ If I specify 20.0 for the time interval, my method gets called 1
>>>>> time/sec.
>>>>> ∙ If I specify 100.0 for the time interval, my method gets called 5
>>>>> times/sec.
>>>>> ...etc.
>>>>>
>>>>> Here is my only invocation, called once and nevermore:
>>>>>
>>>>> NSTimer *newTimer = [NSTimer timerWithTimeInterval:1.0 // should be
>>>>> 1/sec
>>>>> target:self
>>>>> selector:@selector(newData:)
>>>>> userInfo:nil
>>>>> repeats:YES];
>>>>> [[NSRunLoop mainRunLoop] addTimer:newTimer
>>>>> forMode:NSRunLoopCommonModes];
>>>>
>>>> Sounds like multiple timers are being installed. Set a breakpoint that
>>>> logs when hit.
>>>>
>>>
>>> On break, It's always the same timer. This is with time interval set to
>>> 20.0:
>>>
>>> <timer id> <interval> <fire date>
>>> <__NSCFTimer: 0x60000323c600> 1.000000 Wed Apr 29 13:50:40 2020
>>> <__NSCFTimer: 0x60000323c600> 1.000000 Wed Apr 29 13:50:41 2020
>>> <__NSCFTimer: 0x60000323c600> 1.000000 Wed Apr 29 13:50:42 2020
>>> . . .
>>>
>>
>> I put a break directly after the creation of the timer, and introspection
>> already shows the wrong value for the time interval! And since .timeInterval
>> is a readonly attribute, I cannot force it to the correct value, nor is
>> there a -setTimeInterval: method.
>>
>> Argh...
>> -Carl
>>
>>
>> _______________________________________________
>>
>> Cocoa-dev mailing list (email@hidden
>> <mailto:email@hidden>)
>>
>> Please do not post admin requests or moderator comments to the list.
>> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>> <http://lists.apple.com/>
>>
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden <mailto:email@hidden>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden