2010-09-27 20 views
5

Tôi muốn xây dựng một vài bộ tính giờ đếm ngược đơn giản trong UITableview. Tôi nhận thấy ứng dụng Đồng hồ thế giới có đồng hồ hoạt hình trong mỗi hàng của nó. Phương pháp tốt nhất để bắn NSTimer là gì để cập nhật mỗi hàng của bảng? Một bộ đếm thời gian có thể được chạy để cập nhật tất cả các ô hoặc tôi có một lớp con xem tùy chỉnh với bộ hẹn giờ được tích hợp được thêm vào mỗi hàng không?NSTimer cho UITableviewcell tương tự như ứng dụng Đồng hồ Thế giới

Tôi chỉ đang cố gắng thực hiện một hành động thích hợp.

Trả lời

6

Một bộ hẹn giờ là đủ. Khi nó cháy, hãy hỏi xem bảng cho các ô hiển thị và cập nhật từng ô một. Bạn cũng có thể gọi reloadData khi bộ hẹn giờ kích hoạt nhưng tùy thuộc vào cách bạn vẽ các ô của mình, bạn có thể làm nhiều việc hơn mức cần thiết và bạn không thể sử dụng hoạt ảnh.

3

Chỉ cần biết rằng bạn cần lên lịch hẹn giờ để kích hoạt nhiều hơn một lần. NSTimer không phải là thiết bị chính xác - bạn đang lên lịch cho khe xử lý có sẵn tiếp theo sau khoảng thời gian bạn chỉ định. Vì vậy, một NSTimer 1 giây sẽ không cháy chính xác trong một giây, và thực sự có thể tích luỹ khá nhiều lỗi theo thời gian. Bạn muốn nó trở nên sống động vài lần trong một giây, hãy nhìn vào thời điểm hiện tại, chú ý khi giây trôi qua, và thực hiện cập nhật UI/dữ liệu phù hợp với thực tế đó.

Các vấn đề liên quan