แอป LifeCycle

May 10 2023
: หมุนเวียนตั้งแต่เปิดแอปไปจนถึงปิดเครื่อง: ใช้งานได้โดยจัดการหน่วยความจำหรือข้อมูล ⬆️ ความปลอดภัยสามารถประมวลผล UIApplication สถานการณ์ AppDelegate:กำหนดฟังก์ชันที่ออบเจ็กต์ AppDelegate ได้รับ msg ที่ส่งจากออบเจ็กต์ UIApplication และดำเนินการแต่ละรายการ ไม่ทำงาน: สถานะที่แอปไม่ได้ทำงาน ไม่ใช้งาน: สถานะที่แอปกำลังทำงานแต่ไม่ได้รับเหตุการณ์ Active: สถานะที่แอปกำลังทำงานและเหตุการณ์เกิดขึ้นพื้นหลัง: สถานะที่แอปอยู่ในพื้นหลังแต่โค้ดที่ถูกดำเนินการถูกระงับ: สถานะที่แอปอยู่ใน พื้นหลังและการรันไม่มีโค้ดที่จะมอบหมายฟังก์ชันในไฟล์ AppDelegate.swift SceneDelegate เพื่อให้ตอบสนองได้ดีกับฟังก์ชันหลายฉากที่รองรับตั้งแต่ iOS 13 เป็นต้นไป AppDelegate / SceneDelegate AppDelegate 1

: หมุนเวียนตั้งแต่เปิดแอปจนถึงปิดเครื่อง
: ใช้งานได้โดยจัดการหน่วยความจำหรือข้อมูล ⬆️ ความปลอดภัยสามารถดำเนินการได้

แอปพลิเคชัน UIA, AppDelegate

สถานการณ์:กำหนดฟังก์ชันที่วัตถุ AppDelegate ได้รับ msg ที่ส่งจากวัตถุ UIApplication และดำเนินการแต่ละรายการ

ไม่ทำงาน:สถานะที่แอปไม่ได้ทำงานอยู่
ไม่ทำงาน:สถานะที่แอปทำงานอยู่แต่ไม่ได้รับเหตุการณ์
ใช้งานอยู่:สถานะที่แอปกำลังทำงานและมีเหตุการณ์เกิดขึ้น
พื้นหลัง:สถานะที่แอปอยู่ในพื้นหลังแต่ โค้ดที่กำลังดำเนินการ
ถูกระงับ:สถานะที่แอปอยู่ในพื้นหลังและไม่มีการรันโค้ด

ฟังก์ชันผู้รับมอบสิทธิ์ในไฟล์ AppDelegate.swift

application(_:didFinishLaunching:) Run when the app first starts
applicationWillResignActive: - Executed when the app is moved from active to inactive
applicationDidEnterBackground: - Run when the app is in the background
applicationWillEnterForeground: - Executes when the app is moved from the background to the foreground (not yet running in the foreground)
applicationDidBecomeActive: - When the app is active and running
applicationWillTerminate: - Run when app closes

ฉากผู้แทน

เพื่อให้ตอบสนองได้ดีกับฟังก์ชั่นฉากหลายฉากที่รองรับตั้งแต่ iOS 13 เป็นต้นไป

AppDelegate/SceneDelegate

AppDelegate

1. แอปพลิเคชัน func(_: didFinishLaunchingWithOptions: ) -> บูล

การตั้งค่าแอปพลิเคชันดำเนินการด้วยวิธีนี้

2. แอปพลิเคชัน func(_: configurationForConnecting:options: ) -> UISceneConfiguration

วิธีการนี้เรียกว่าเมื่อแอปพลิเคชันต้องการจัดเตรียมฉาก/หน้าต่างใหม่

3. แอปพลิเคชัน func(_: didDiscardSceneSessions: )

เรียกเมื่อผู้ใช้ละทิ้งฉาก

ฉากผู้แทน

1. ฉาก (_: willConnectTo: ตัวเลือก: )

นี่เป็นวิธีแรกที่เรียกในวงจรชีวิตของ UISceneSession สร้างมุมมองเนื้อหาแรก UIWindow ใหม่ และตั้งค่า rootViewController ของหน้าต่าง
(หน้าต่าง: วิวพอร์ตที่แอปทำงาน)

2. ฉากจะเข้าสู่เบื้องหน้า(_ :)

เรียกว่าเมื่อฉากเปลี่ยนไปเบื้องหน้า
1) เมื่อพื้นหลัง → พื้นหน้า
2) เมื่อเปิดใช้งานเป็นครั้งแรก

3. ฉากไม่กลายเป็นแอคทีฟ(_ :)

เรียกเมื่อเปลี่ยนจากไม่ใช้งาน → ใช้งาน

4. sceneWillResignActive(_ :)

เรียกว่าเมื่อใช้งาน→ไม่ได้ใช้งานช่วงการเปลี่ยนภาพ
ตัวอย่าง) สถานการณ์ตัวสลับแอป

5. ฉากไม่ใส่พื้นหลัง (_ :)

เรียกว่าเมื่อฉากเปลี่ยนจากพื้นหน้าเป็นพื้นหลัง
บันทึกข้อมูลสถานะเพื่อให้สามารถกู้คืนได้เมื่อกลับสู่พื้นหน้าในครั้งต่อไป บันทึกข้อมูล หรือส่งคืนทรัพยากรที่ใช้ร่วมกัน

6. ฉากไม่ตัดการเชื่อมต่อ (_ :)

เมื่อฉากเข้าสู่พื้นหลัง มีความเป็นไปได้ที่ระบบจะตัดการเชื่อมต่อเพื่อเพิ่มทรัพยากร
(ตัดการเชื่อมต่อ : เซสชันถูกตัดการเชื่อมต่อ / ไม่ได้หมายความว่าแอปถูกยกเลิก )

ViewController LifeCycle