Swift ไม่รู้จัก api assertionFailure() api ช่วยชีวิต dev ของคุณ

คุณเคยได้ยินคำว่า assertionFailure() หรือไม่? ทำงานเป็น iOS Developer มาสี่ปี น่าเสียดายที่ในที่สุดฉันก็พบ api นี้… สิ่งนี้มีประโยชน์อย่างมากเมื่อทำการดีบั๊กแอปของคุณ

assertionFailure() เป็นฟังก์ชันใน Swift ที่ใช้เพื่อหยุดการทำงานของโปรแกรม ฟังก์ชันนี้เป็นส่วนหนึ่งของ Swift Standard Library และใช้เพื่อวัตถุประสงค์ในการดีบักเป็นหลัก ในบทความนี้ เราจะมาดูกันว่า assertionFailure() คืออะไร ทำงานอย่างไร และควรใช้เมื่อใด

AssertionFailure() คืออะไร?

assertionFailure() เป็นฟังก์ชันใน Swift ที่ใช้เพื่อหยุดการทำงานของโปรแกรม เมื่อมีการเรียกใช้ assertionFailure() โปรแกรมจะหยุดทำงานทันที ซึ่งแสดงว่าการยืนยันล้มเหลว

นี่คือตัวอย่าง:

var someValue: Int? 

guard let someValue = someValue else {
   assertionFailure("some value should not be nil")
   return 
}

ถ้าบางค่าเป็นศูนย์ โปรแกรมจะหยุดทำงานทันที ดูเหมือนว่าจะเหมือนกันกับ fatalError() แต่มีความแตกต่างที่สำคัญระหว่าง fatalError() และ assertionFailure()

เมื่อใดที่คุณควรใช้ assertionFailure()

ข้อแตกต่างหลักระหว่าง assertionFailure() และ fatalError() คือ assertionFailure ไม่ได้ดำเนินการในReleaseสภาพแวดล้อม นั่นเป็นเหตุผลที่คุณต้องใส่return เมื่อแกะค่า nullable ถ้าคุณต้องการให้หยุดการทำงานของโค้ด

บทสรุป

กล่าวโดยสรุป assertionFailure() เป็นฟังก์ชันใน Swift ที่ใช้เพื่อหยุดการทำงานของโปรแกรมเมื่อเงื่อนไขที่ถือว่าเป็นจริงเป็นเท็จ เมื่อใช้ assertionFailure() คุณสามารถตรวจจับข้อผิดพลาดได้ตั้งแต่เนิ่นๆ ในกระบวนการพัฒนา และตรวจสอบให้แน่ใจว่าโค้ดของคุณทำงานได้อย่างถูกต้องก่อนที่จะเผยแพร่ และวางใจได้ แอปของคุณจะไม่พังเพราะ assertionFailure() ถูกเรียกใน Release Environment เท่านั้น

Suggested posts

“เกาะเล็กๆ แห่งนั้นเปลี่ยนแปลงทุกสิ่ง”

วิธีที่เราออกแบบ Lyft Live Activities เพื่อยกระดับประสบการณ์ผู้ขับขี่

“เกาะเล็กๆ แห่งนั้นเปลี่ยนแปลงทุกสิ่ง”

ผู้เปลี่ยนเกมสำหรับรถร่วมโดยสาร จากทุกสิ่งที่เราทำที่ Lyft การออกแบบท่าเต้นของรถปิคอัพระหว่างผู้ขับขี่และผู้ขับขี่เป็นหนึ่งในสิ่งที่ซับซ้อนและเป็นผลสืบเนื่องมากที่สุด การออกแบบท่าเต้นนี้ขึ้นอยู่กับ Lyft ที่ทำหลายสิ่งหลายอย่างได้ดี แต่การรักษาผู้ขับขี่ให้ทันความเร็วเป็นสิ่งสำคัญ

แอป LifeCycle

แอป LifeCycle

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

Related posts

เงินทุนกำจัดคาร์บอนในปีงบประมาณ 24

รายละเอียดคำขอจัดสรรของ Carbon180 ข้ามเส้นทาง

เงินทุนกำจัดคาร์บอนในปีงบประมาณ 24

โดย Alyson Lee ที่ปรึกษาด้านการจัดการภาครัฐ กระบวนการจัดสรรประจำปีของรัฐบาลกลางเป็นหัวใจสำคัญของความพยายามของเราในการให้ทุนสนับสนุนการกำจัดก๊าซคาร์บอนไดออกไซด์ (CDR) ในแต่ละปี Carbon180 จะส่งคำขอไปยังสำนักงานรัฐสภาหลายแห่งเพื่อช่วยชี้แนะว่าเงินดอลลาร์ในปีหน้าจะไหลไปที่ใด

การสร้างสภาพแวดล้อมการทำงานที่ปลอดภัย

การสร้างสภาพแวดล้อมการทำงานที่ปลอดภัย

“เขาจะปกป้องฉันเมื่อฉันตกอยู่ในอันตราย เขาจะซ่อนฉันไว้ในเต็นท์ของเขา

สองปีในการออกแบบ - ดี ไม่ดี และน่าเกลียด...

สองปีในการออกแบบ - ดี ไม่ดี และน่าเกลียด...

“หวัดดี Siri เล่น Me Dive โดย Olivia Dean” ในเดือนพฤษภาคม 2021 ฉันเริ่มฝึกงานที่ Future Academy Africa ในเมือง Akure ประเทศไนจีเรีย

การข่มเหงคริสเตียน: อาชญากรรมจากความเกลียดชังที่เราไม่พูดถึง

ลืมเรื่องโรคกลัวอิสลาม: คริสเตียน (และชาวยิว) เป็นเหยื่อหลักของอาชญากรรมจากความเกลียดชังทางศาสนา

การข่มเหงคริสเตียน: อาชญากรรมจากความเกลียดชังที่เราไม่พูดถึง

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