Monday, September 10, 2012

Lập trình iPhone - Đối tượng NSTimer - Quản lý các thời gian trên 1 ứng dụng

NSTIMER

I – Giới thiệu:

NSTimer là đối tượng có thể chạy ngầm 1 hành động nào đó sau 1 khoảng thời gian được đặt ra trước.

Nhờ đặc tính đó, NSTimer có thể dùng cho các hiệu ứng diễn hoạt animation, đo đếm thời gian…



Ví dụ: Viết ứng dụng thi trắc nghiệm, dùng NSTimer để giới hạn thời gian làm bài là 15 phút. Hay đơn giản hơn là hiện đồng hồ thời gian ra ứng dụng, dùng NSTimer để yêu cầu cứ mỗi giây cập nhật lại thời gian mới


II – Sử dụng NSTimer

A – Khởi tạo đối tượng NSTimer

+ scheduledTimerWithTimeInterval:invocation:repeats:
+ scheduledTimerWithTimeInterval:target:selector:userInfo:repe ats:
+ timerWithTimeInterval:invocation:repeats:
+ timerWithTimeInterval:target:selector:userInfo:repeats:
– initWithFireDate:interval:target:selector:userInfo:repeats:

B – Kích hoạt đối tượng NSTimer
– fire

C – Dừng đối tượng NSTimer lại
– invalidate

D – Lấy thông tin của đối tượng NSTimer đang kích hoạt
– isValid
– fireDate
– setFireDate:
– timeInterval
– userInfo

E - Công thức chung

PHP Code:
+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)seconds target:(id)target selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)repeats 
Tham số:

seconds : Tốc độ chạy của NSTimer. Càng nhỏ thì chạy càng nhanh. Đơn vị là giây. Nếu seconds < 0 thì hệ thống tự động gán giá trị là 0.1 milisecond.

target : Khai báo đối tượng nào sẽ chứa NSTimer (Thường là self: vì NSTimer chạy ngay trên view đang hiển thị)

aSelector : Khai báo tên hành động để NSTimer thực thi nó trong thời gian NSTimer này đang được kích hoạt

userInfo : Thông tin của đối tượng NSTimer đang thực thi. Thường là nil

repeats: Nếu được gán là YES, thì NSTimer sẽ lặp đi lặp lại aSelector cho đến khi nó gặp lệnh dừng lại. Nếu được gán là NO, thì NSTimer chỉ chạy aSelector 1 lần duy nhất rồi dừng lại chứ không có lặp đi lặp lại.

No comments:

Post a Comment