Swift รู้จักกับ Life cycle ใน iOS
สำหรับนักพัฒนามือใหม่ ที่กำลังสงสัยว่าเราจะเรียก API ตรงไหนดีหรือจะอัพเดท UI ตอนไหนดี วันนี้เราจะมาจัดการมันด้วย Life cycle กันครับ
เริ่มแรกเรามารู้จักกับ Life cycle กันเถอะ ^^
Life cycle ถ้าแปลตรงๆตัวก็คือวงจรชีวิต หรืออาจจะเรียกได้ว่า วัฏจักรของหน้าจอนั่นเอง โดยหลักๆจะประกอบไปด้วย
- viewDidLoad()
- viewWillAppear()
- viewDidAppear()
- viewWillDisappear()
- viewDidDisappear()
แล้วแต่ละตัวคืออะไรและถูกเรียกตอนไหนบ้างเรามาดูกันเลยดีกว่าครับ >,<”
เริ่มจากเราลองเรียกมาหมดทุกตัวกันเลยครับ แล้วมารันดูผลลัพท์ว่าจะเป็นยังไงบ้าง?
จากรูปจะเห็นว่าเมื่อแอพเปิดขึ้นมาจะเข้า viewDidLoad() ก่อนและหลังจากนั้นจะเข้า viewWillappear() และตามด้วย viewDidAppear()
เอ๊ะ !! แล้ว viewWillDisappear() และ viewDidDisappear() ถูกเรียกตอนไหนล่ะ เดี๋ยวเราลองกดไปหน้าถัดไปกันดูนะครับ
จากรูปจะเห็นว่า ก่อนที่จะเข้า viewWillDisappear() ของหน้าแรก จะเข้า viewDidLoad ของหน้า 2 ก่อน แล้วจึงตามด้วย viewWillDisappear() ของหน้าแรก หลังจากนั้นจะเข้า viewWillAppear() ของหน้าที่ 2 ก่อน จึงจะเข้า viewDidDisappear() ของหน้าแรก
หลังจากที่กดจากหน้าแรกมาหน้าที่ 2 แล้ว เราจะกดกลับไปหน้าแรกกันบ้างนะครับ
จากรูปสังเกตุได้ว่า ขากลับจากหน้าที่ 2 มาหน้าแรก
*** หน้าแรกจะไม่ทำ viewDidLoad() แล้ว ***
ตรงนี้แหละครับที่สำคัญในการที่เราจะเรียก API หรือทำการ Update UI ของเรา
ในกรณีที่เราต้องการให้มีการเรียก API หรือ Update UI ทุกครั้งที่เข้ามายังหน้าแรก ไม่ว่าจะเป็นการเปิดหน้าแรกขึ้น หรือแม้แต่การกลับมาจากหน้าถัดไป ให้เราทำใน viewWillAppear() ได้เลยครับ ^^
ส่วนในกรณีที่เราต้องการเรียก API หรือ Update UI แค่ครั้งเดียวในตอนเปิดหน้านั้นๆ และไม่ต้องการให้ทำอีกในกรณีที่กลับมาจากหน้าถัดไป ให้เราทำใน viewDidLoad() ได้เลยครับ >,<”
จบแล้วนะครับสำหรับ Life cycle หวังว่าจะช่วยให้ทุกคนเข้าใจมากขึ้นนะครับ นี่เป็นบทความแรกของผม หากมีข้อผิดพลาดประการใด ต้องขอโทษมานะที่นี้ด้วยนะครับ
#swift #ios #Xcode #life cycle