Ders 25 : NSTimer




NSTimer Nedir Ve Ne İşe Yarar ?

NSTimer bir tür sayaç nesnesidir denebilir. Durdurulana kadar belirlediğimiz zaman aralığıyla  sürekli bir fonksiyonu çağırır. Fakat fonksiyonlar parametre alamaz.

NSTimer Nasıl Kullanılır ?

NSTimer kullanmak oldukça basit.

    NSTimer * time = [NSTimer scheduledTimerWithTimeInterval: target: selector: userInfo: repeats: ];


Sekilde gib bir fonksiyon ile NSTimer tanımlayabiliyoruz. NSTimeInterval yazan kısma bir float gireceğiz ve bu bizim sayacımızın ne kadar saniye aralıkla fonksiyonu çağıracağını belirleyeceğiz. Target kısmına self yazacağız. Selector kısmına istediğimiz fonksiyonu @sel(fonksiyon) şeklinde yazacağız. UserInfo nil olacak ve repeats kısmına Yes yazacağız. Bir örnek verelim.


#import "ViewController.h"


@interface ViewController ()

@end

@implementation ViewController


-(void)viewDidLoad
{
    [super viewDidLoad];
    
    NSTimer * time = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(say) userInfo:nil repeats:YES];
}

- (void) say{
    
    static int x = 0;
    x ++;
    NSLog(@"Yaşasın %d",x);
    
}




@end


NSTimer Nasıl Durdurulur ?

NSTimer durdurmak için invalidate fonksiyonunu kullanıyoruz. Fakat sayacımızı tanımladığımız bloğun dışında durdurmak için global olarak tanımlamamız gerekecektir. Bir örnek verelim.


#import "ViewController.h"


@interface ViewController ()

@end

@implementation ViewController

{
    NSTimer* time;
}

-(void)viewDidLoad
{
    [super viewDidLoad];
    
    time = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(say) userInfo:nil repeats:YES];
}

- (void) say{
    
    static int x = 0;
    x ++;
    NSLog(@"Yaşasın %d",x);
    
    if (x == 100) [time invalidate];
}




@end

Hiç yorum yok :

Yorum Gönder