training stop program pro interval hiit for app ios timer fixed intervals schedule

ios - stop - timer for intervals



IOS-Creación y uso de temporizadores específicos de intervalo (4)

Soy un desarrollador de IOS novato, pero tengo una buena experiencia en el desarrollo de Android. Mi pregunta es sobre la creación y el uso de temporizadores específicos de intervalo.

En Android podría fácilmente hacer un temporizador como este:

timedTimer = new Timer(); timedTimer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { TimedMethod(); } }, 0, 1000);

Cuando el intervalo es 1000 MS y el método TimedMethod () se llama en cada tic. ¿Cómo haría para implementar una función similar en iOS?

Gracias por leer! ¡Cualquier ayuda en absoluto sería grande! :-)


Puedes usar un NSTimer repetición así:

- (void) startTimer { [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(tick:) userInfo:nil repeats:YES]; } - (void) tick:(NSTimer *) timer { //do something here.. }


Utilice el siguiente método presente en el archivo NSTimer.h de Foundation Framework

Sintaxis:

+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo;

Uso

#define kSyncTimerLength 4 //Declare globally -(void) timerActivityFunction; //Declare in interface [NSTimer scheduledTimerWithTimeInterval:kSyncTimerLength target:self selector:@selector(timerActivityFunction) userInfo:nil repeats:NO]; -(void) timerActivityFunction { // perform timer task over-here }


Utilizar

[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerCallback) userInfo:nil repeats:YES];

En la misma clase en que llamó al método anterior, cree un método llamado timerCallback . Esto será llamado cada vez que su temporizador se encienda; cada 1000 milisegundos.


Para Swift:

Cree un objeto temporizador utilizando la línea inferior que llamará al método de carga cada 10 segundos. Si obtiene no implementa methodSignatureForSelector, amplíe su clase con NSObject. Lea esto para obtener más información. El objeto X de la clase Y no implementa methodSignatureForSelector en Swift

timer = NSTimer.scheduledTimerWithTimeInterval(10.0, target: self, selector: "upload", userInfo: nil, repeats: true) func upload() { print("hi") }