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.
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.
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