หากคุณต้องการให้แน่ใจว่าโค้ดของคุณใช้ Swift concurrency อย่างถูกต้องที่สุดใน Swift 5.7 ขอแนะนำให้เปิดใช้งานการตรวจสอบการทำงานพร้อมกันอย่างเข้มงวด (SWIFT_STRICT_CONCURRENCY
) ในโครงการของคุณ
ในการดำเนินการนี้ ให้เลือกเป้าหมายของโครงการและไปที่ Build Settings
แท็บ ให้แน่ใจว่าคุณเลือก All
จากรายการการตั้งค่าที่แสดง (Basic
เป็นค่าเริ่มต้น) และพิมพ์ Strict Concurrency
ในแถบค้นหาเพื่อค้นหา Strict Concurrency Checking
สร้างการตั้งค่า
ภาพหน้าจอด้านล่างแสดงส่วนที่เกี่ยวข้องทั้งหมดให้คุณดู:
ค่าเริ่มต้นสำหรับการตั้งค่านี้คือ Minimal
ซึ่งเดือดลงไปที่คอมไพเลอร์เพียงตรวจสอบอย่างชัดเจน Sendable
คำอธิบายประกอบท่ามกลางสิ่งอื่น ๆ การตั้งค่านี้จำกัดน้อยที่สุดและบังคับใช้ข้อจำกัดของ Swift Concurrency ให้น้อยที่สุดเท่าที่จะทำได้ในขณะนั้น
คุณสามารถชนเช็คของคุณไปที่ Targeted
ซึ่งจะบังคับใช้ Sendable
และการตรวจสอบการแยกตัวประกอบในรหัสของคุณและจะชัดเจนมากว่า Sendable
ตรงตามข้อจำกัดเมื่อคุณทำเครื่องหมายประเภทใดประเภทหนึ่งของคุณเป็น Sendable
. โหมดนี้เป็นไฮบริดเล็กน้อยระหว่างพฤติกรรมที่ตั้งใจไว้ใน Swift 6 กับสิ่งที่อนุญาตในตอนนี้ คุณสามารถใช้โหมดนี้เพื่อตรวจสอบโค้ดเล็กน้อยที่ใช้ Swift Concurrency โดยไม่มีคำเตือนและ / หรือข้อผิดพลาดมากเกินไปใน codebase ปัจจุบันของคุณ
กับ Complete
คุณจะได้รับข้อจำกัดการทำงานพร้อมกันอย่างเต็มรูปแบบ โดยพื้นฐานแล้วมันจะทำงานใน Swift 6 โดยส่วนตัวแล้ว ฉันขอแนะนำให้เปิดใช้งานการตั้งค่านี้สำหรับโปรเจ็กต์ใหม่ที่คุณต้องการให้โค้ดทั้งหมดของคุณได้รับการตรวจสอบอย่างถูกต้องในทันที ใน codebase ที่มีอยู่ โหมดนี้อาจเข้มงวดเกินไปเล็กน้อย แต่ในทางกลับกัน มันจะตั้งค่าสถานะหลายสิ่งหลายอย่างที่จำเป็นใน Swift 6