objective c - iOS NSTimer not calling selector - not firing -


i have:

- (void)viewdidload {     [super viewdidload];     // additional setup after loading view, typically nib.     [self setneedsstatusbarappearanceupdate];     nstimer* timer = [nstimer scheduledtimerwithtimeinterval:0.25 target:self selector:@selector(setcurrenttime:)  userinfo:nil repeats:yes];     [[nsrunloop mainrunloop] addtimer:timer formode:nsrunloopcommonmodes];     [timer fire];  } -(void)setcurrenttime{     nslog(@"test");     dispatch_async(dispatch_get_main_queue(), ^{         nsdate *currentdate = [[nsdate alloc] init];         nsdateformatter *dateformatter = [[nsdateformatter alloc] init];         [dateformatter setdateformat:@"hh:mm"];         [currenttime settext:[dateformatter stringfromdate:currentdate]];     }); } 

but nothing called.

you're calling wrong selector. "setcurrenttime" implementation doesn't take parameter (e.g. messaged or called, should use "selector:@selector(setcurrenttime)".

now, if @ apple's documentation [nstimer scheduledtimerwittimeinterval: target: selector: userinfo: repeats:], apple says method should have signature:

- (void)setcurrenttime: (nstimer *) timer 

which means function this:

-(void)setcurrenttime: (nstimer *) timer {     nslog(@"test");     dispatch_async(dispatch_get_main_queue(), ^{         nsdate *currentdate = [[nsdate alloc] init];         nsdateformatter *dateformatter = [[nsdateformatter alloc] init];         [dateformatter setdateformat:@"hh:mm"];         [currenttime settext:[dateformatter stringfromdate:currentdate]];     }); } 

and called this:

nstimer* timer = [nstimer scheduledtimerwithtimeinterval:0.25                     target:self                   selector:@selector(setcurrenttime:)                    userinfo:nil                    repeats:yes]; 

Comments

Popular posts from this blog

java.util.scanner - How to read and add only numbers to array from a text file -

rewrite - Trouble with Wordpress multiple custom querystrings -

php - Accessing static methods using newly created $obj or using class Name -