ค้นหาอาร์เรย์ที่ปลอดภัย (ตรวจสอบขอบเขต) ใน Swift ผ่านการผูกหรือไม่ก็ได้?
หากฉันมีอาร์เรย์ใน Swift และพยายามเข้าถึงดัชนีที่อยู่นอกขอบเขตแสดงว่ามีข้อผิดพลาดรันไทม์ที่ไม่น่าแปลกใจ: var str = ["Apple", "Banana", "Coconut"] str[0] // "Apple" str[3] // EXC_BAD_INSTRUCTION อย่างไรก็ตามฉันจะคิดด้วยการผูกมัดและความปลอดภัยเสริมทั้งหมดที่ Swift นำมามันคงเป็นเรื่องไม่สำคัญที่จะทำอะไรเช่น: let theIndex = 3 if let nonexistent = str[theIndex] { // Bounds check + Lookup print(nonexistent) ...do other things with nonexistent... } แทน: let theIndex = 3 if (theIndex < str.count) { …