เรียนรู้การใช้ คลาส Timer() จาก Workshop Count Time (ตอนที่สอง เร่ิมโค้ดภาษา Swift)

ก็คือบทความที่ต่อยอดจาก ครั้งที่แล้ว หลังจากที่เราออบแบบ UI ของแอพเสร็จ มาที่นี่เราจะโค้ด ภาษา Swift ไปควบคุม แอพเราเริ่มต้นกันเลยครับ จากครั้งที่แล้ว

เราออบแบบ UI เสร็จละ

เปิดสองจอ โดยคลิกที่รูป วงกลม 2 วง

กด Control และ คลิกขวา ลาก Label ไปว่างใน คลาส (นอก Function ทุกตัวนะ)


มาสเตอร์ตั้งชื่อ Outlet ว่า timeLabel

ต่อไป กด Control คลิกขวาที่ ปุ่ม Play ลากไปปล่อยใน คลาส


แต่ครั้งนี่มาสเตอร์ กำหนดเป็น Action

และ ตั้งชื่อเป็น playAction



กำหนด Action ให้กับ ปุ่ม pauseAction


คลิก Single View (รูปเส้น ด้านซ้ายของวงกลม)


ที่ Navigator เลือก ViewController.swift เพื่อโค้ด Swift ต่อไป




มาสเตอร์ ประกาศตัวแปร var ที่ชื่อ objTime ที่สืบทอดมาจาก คลาส Timer()


ต่อไป มาสเตอร์ ประกาศตัวแปร intTime เป็นตัวแปรแบบ var มีชนิดข้อมูลแบบ Int มีค่าเริ่มต้นเป็น 0

ที่ Function playAction มาสเตอร์ เอา Object objTime มากำหนด Timer.Scheduled แบบนี้


สังเกตุ ค่า Selector มาเตอร์ Blank เป็น “” ไว้ก่อน




มาสเตอร์ สร้าง Function ที่ ไม่มีการ Return ค่า กลับ (Void) โดย Function นี่ ทุกครั้งที่ทำงาน จะเพิ่มค่าให้ ตัวแปร intTime



กำหนด Selector ให้ไปทำงาน ที่ Function processTimer

มาทำที่ปุ่ม pause ให้หยุดการทำงานของ Timer


มาสเตอร์ กำหนดให้ invalidate ที่ object ของ Timer แบบนี้

โค้ดทั้งหมดจะเป็นแบบนี้



เริ่มต้นเป็น ศูนย์ ลองกด Play จะวิ่งไปเรื่อยๆ พอเรา Pause จะหยุด


ถ้า กด Play ก็จะ วิ่งต่อไป ลองดูครับไม่ยาก

