Introduction to Xcode

โปรเจคของเรา

หลังจากที่เราสร้างโปรเจคเสร็จ สิ่งแรกที่เราจะเห็นคือ หน้า Setting ค่าต่าง ๆ ในโปรเจคของเรา โดยในส่วนแรกตรงกลางจอ คือค่าต่าง ๆ ที่เราใส่ตอนสร้างโปรเจคในบทก่อนหน้า

ในส่วนของ Deployment Info จะเป็นส่วนที่กำหนดเพิ่มเติม โดยทั่วไปเราจะดูส่วน

Deployment Target ระบุว่า iOS version ขั้นต่ำที่เราจะรองรับ Devices เราสามารถเลือกซัพพอร์ต iPhone, iPad, Mac Catalyst Main Interface ระบุว่า Storyboard แรกที่จะใช้งานคืออันไหน กรณีนี้คือ Main.storyboard Device Orientation ระบุว่าเรารองรับหน้าจอแนวไหน แนวตั้งหรือแนวนอน

ด้านซ้ายมือจะเป็น Navigator ไปยังส่วนต่าง ๆ ที่เรามักจะใช้บ่อยคือ

Project Navigator ใช้ในการดูและเข้าถึงไฟล์ต่าง ๆ ในโปรเจคของเรา Source Control ใช้ในการดู Git changes และ repositories Symbol ใช้ในการดู structure ของ Type ต่าง ๆ ที่เราใช้ในโค้ดของเรา Search ใช้ในการค้นหา Issue ใช้แสดง warning และ error ต่าง ๆ ที่เกิดขึ้นในแอปของเรา Test ส่วนที่แสดงรายการเทสเคส และผลลัพธ์ทั้งหมดของโปรเจคเรา Debug ใช้ในการ monitor แอปของเราเมื่อเรารันใน Debug mode Breakpoint แสดง breakpoint ทั้งหมดที่เราใส่ไว้ Report ส่วนที่แสดง log การทำงานต่าง ๆ เช่น Build log, Test log

เมื่อเราสร้างเป็น App เสร็จแล้ว Xcode จะสร้างไฟล์ต่าง ๆ ให้ดังนี้

  1. AppDelegate.swift จะเป็นไฟล์ที่ใช้จัดการ event หรือสถานะต่าง ๆ ที่แชร์กันระดับทั้งแอป เช่น การจัดการเมื่อได้รับ Notification

  2. SceneDelegate.swift จะเป็นไฟล์ที่ทำหน้าที่จัดการหน้าต่างหรือหน้าจอของแอป จะกล่าวอีกทีใน Scene-Based Life-Cycle

  3. ViewController.swift เป็น controller แรกที่ Xcode สร้างมาให้ผูกกับหน้าจอแรกใน storyboard

  4. Main.storyboard ใช้ในการสร้างหน้าจอและจัดการการเชื่อมโยงหน้าจอต่าง ๆ แบบแผนภาพ

  5. Assets.xcassets ใช้ในการเก็บรูปต่าง ๆ เช่น รูป icon ของ แอป

  6. LaunchScreen.storyboard ใช้ออกแบบหน้าจอในขณะที่โหลดเปิดแอป

  7. Info.plist ใช้ในการคอนฟิกค่าต่าง ๆ ของแอป

  8. TodoAppTests เป็นที่เก็บไฟล์ Unit test ของเรา

  9. TodoAppUITests เป็นที่เก็บ UI test ของเรา

ก่อน iOS 13 การจัดการ Life cycle ของแอปทั้งหมดจะอยู่ที่ AppDelegate เพียงตัวเดียว แต่ใน iOS 13 เป็นต้นมา ใน iPad จะสามารถแสดงหน้าจอได้หลายหน้าจอ จึงมีการแยกหน้าที่ความรับผิดชอบในการจัดการส่วนของหน้าจอออกมาจาก AppDelegate เป็น SceneDelegate ขึ้นมาอีกตัวนึง

เราสามารถกด cmd + 1, cmd + 2, +3, +4, ... ในการสลับ navigator ต่าง ๆ ได้

Last updated