Tubles
คือ การรวมกลุ่มของข้อมูล แต่ละข้อมูลภายใน Tuple สามารถเป็นคนละชนิดกันได้ ตัวอย่างด้านล่างแสดง Tuple ที่ประกอบไปด้วยข้อมูล Int, String
let appDetail = (12, "Share.OlanLab.Com")
เราสามารถเข้าถึงค่าภายใน Tuple ได้ 2 วิธี
วิธีที่ 1 ผ่าน index (ตำแหน่ง)
print("Applicant age is \(applicantDetails.0)")
print("Applicant name is \(applicantDetails.1)")
วิธีที่ 2 ผ่าน Name (ชื่อ)
let applicantDetails = (applicantAge:12, applicantName:"Henry")
print("Applicant age is \(applicantDetails.applicantAge)")
print("Applicant name is \(applicantDetails.applicantName)")
เราสามารถใส่ตัวแปรภายใน ".............." เพื่อดึงค่าขึ้นมาใช้ได้เลย เมื่อใช้สัญลักษณ์ \(...................)
เราสามารถนำค่าภายใน Tuple ส่งไปเก็บภายในตัวแปรแต่ละตัวได้
let applicantDetails = (12, "Henry")
let (applicantAge, applicantName) = applicantDetails
print("Applicant age is \(applicantAge)")
print("Applicant name is \(applicantName)")
จากตัวอย่างด้านบน applicantAge จะมีค่าเป็น 12 และ applicantName จะมีค่าเป็น "Henry"
เมื่อ Run โปรแกรมจะได้
Applicant age is 12
Applicant name is Henry
Tuble เป็นทางเลือกใหม่ในการเก็บข้อมูลในภาษา Swift ใกล้เคียงกับ Tuple ก็จะเป็นการเก็บค่าแบบ Array ที่สามารถเก็บข้อมูลหลายๆ ค่าภายในตัวแปรเดียว แต่ Array ไม่สามารถเก็บชนิดตัวแปรที่แตกต่างกันได้
ทาง Apple แนะนำให้ใช้ Tuples ในการเก็บข้อมูลชั่วคราวที่ไม่ซับซ้อนมาก ถ้าเป็นข้อมูลที่ซับซ้อนที่เป็น Object ของ Class ใช้ Tuples อาจทำให้ประสิทธิภาพลดลง