ตอนที่ 3 iOS Swift คอลเลกชัน (Collections)

  1. อาร์เรย์ (Arrays) ชุด (Sets) และพจนานุกรม (Dictionaries)
  2. คอลเลกชัน (Collection) และคุณสมบัติ (Properties)
  3. การวนซ้ำ (Iterating) อาร์เรย์ (Arrays)
  4. อัลกอริทึมคอลเลกชัน (Collection)

คอลเลกชัน (Collection)ในการทำแอพ iOS Swift เป็นโครงสร้างข้อมูลพื้นฐานที่ช่วยให้คุณจัดเก็บและจัดการกลุ่มของค่าต่างๆ ได้อย่างมีประสิทธิภาพ ในบทความนี้ เราจะสำรวจประเภทคอลเลกชันที่พบบ่อยที่สุดใน iOS Swift รวมถึงอาร์เรย์ ชุด (Sets) และพจนานุกรม (Dictionaries) นอกจากนี้ เราจะหารือเกี่ยวกับวิธีการและคุณสมบัติที่เกี่ยวข้องกับประเภทเหล่านี้ พร้อมด้วยตัวอย่างวิธีการวนซ้ำและจัดการโดยใช้อัลกอริทึมการรวบรวมในตัวสำหรับการรับทำแอพ

1. อาร์เรย์ (Arrays) ชุด (Sets) และพจนานุกรม (Dictionaries)

1.1 อาร์เรย์ (Arrays)

อาร์เรย์ (Arrays) เป็นคอลเลกชัน (Collection) ที่เรียงลำดับขององค์ประกอบ พวกเขาสามารถจัดเก็บองค์ประกอบประเภทเดียวกันโดยอนุญาตให้มีค่าที่ซ้ำกัน อาร์เรย์มีการจัดทำดัชนีเป็นศูนย์ ซึ่งหมายความว่าองค์ประกอบแรกอยู่ที่ดัชนี 0 นี่คือตัวอย่างการสร้างอาร์เรย์ใน Swift:

var numbers: [Int] = [1, 2, 3, 4, 5]
1.2 Sets

Sets เป็น Sets ขององค์ประกอบที่ไม่ซ้ำใคร พวกเขาเก็บองค์ประกอบประเภทเดียวกัน แต่ไม่อนุญาตให้มีค่าที่ซ้ำกัน นี่คือตัวอย่างการสร้าง Sets ใน Swift:

var uniqueNumbers: Set<Int> = [1, 2, 3, 4, 5, 5]
1.3 Dictionaries

Dictionaries คือคอลเลกชันของคู่คีย์-ค่า โดยจะจัดเก็บองค์ประกอบประเภทเดียวกันสำหรับทั้งคีย์และค่า และแต่ละคีย์จะมีค่าที่เกี่ยวข้องได้เพียงค่าเดียวเท่านั้น นี่คือตัวอย่างการสร้าง Dictionaries ใน Swift:

var students: [Int: String] = [1: "Alice", 2: "Bob", 3: "Charlie"]

2. คอลเลกชัน (Collection) และคุณสมบัติ (Properties)

2.1 วิธีการ (Methods) และคุณสมบัติ (Properties) ของอาร์เรย์

วิธีการ (Methods) และคุณสมบัติ (Properties) ของอาเรย์ทั่วไปบางอย่างรวมถึง:

  • count: ส่งกลับจำนวนองค์ประกอบในอาร์เรย์
  • isEmpty: ตรวจสอบว่าอาร์เรย์ว่างหรือไม่
  • append(_:): เพิ่มองค์ประกอบใหม่ที่ส่วนท้ายของอาร์เรย์
  • insert(_:at:): แทรกองค์ประกอบใหม่ที่ดัชนีที่ระบุ
  • remove(at:): ลบองค์ประกอบที่ดัชนีที่ระบุ
  • index(of:): ส่งกลับดัชนีแรกที่สามารถพบองค์ประกอบที่ระบุหรือไม่มีหากไม่พบ
2.2 วิธีการ (Methods) และคุณสมบัติ (Properties) ของ Sets

เมธอด (Methods) และคุณสมบัติ (Properties) ทั่วไปของ Sets ประกอบด้วย:

  • count: ส่งกลับจำนวนองค์ประกอบในชุด
  • isEmpty: ตรวจสอบว่าชุดว่างหรือไม่
  • insert(🙂: เพิ่มองค์ประกอบใหม่ให้กับชุด remove(:): ลบองค์ประกอบที่ระบุออกจากชุด
  • contains(_:): ตรวจสอบว่าชุดมีองค์ประกอบที่ระบุหรือไม่
2.3 วิธีการ (Methods) และคุณสมบัติ (Properties) ของ Dictionaries

เมธอด (Methods) และคุณสมบัติ (Properties) ทั่วไปของ Dictionaries ประกอบด้วย:

  • count: ส่งกลับจำนวนคู่ของคีย์-ค่าในพจนานุกรม
  • isEmpty: ตรวจสอบว่าพจนานุกรมว่างเปล่าหรือไม่
  • updateValue(_:forKey:): อัพเดตค่าสำหรับคีย์ที่ระบุหรือเพิ่มคู่คีย์-ค่าใหม่หากไม่มีคีย์นั้น
  • removeValue(forKey:): ลบคู่คีย์-ค่าสำหรับคีย์ที่ระบุ

3. การวนซ้ำ (Iterating) อาร์เรย์ (Arrays)

3.1 การวนซ้ำอาร์เรย์

คุณสามารถใช้for-inการวนซ้ำเพื่อวนซ้ำองค์ประกอบของอาร์เรย์:

for number in numbers {
    print(number)
}
3.2 วนซ้ำ Sets

คุณสามารถใช้ for-in การวนซ้ำเพื่อวนซ้ำองค์ประกอบของ Sets:

for uniqueNumber in uniqueNumbers {
    print(uniqueNumber)
}
3.3 การวนซ้ำ Dictionaries

คุณสามารถใช้ for-in การวนซ้ำเพื่อวนซ้ำคู่คีย์-ค่าของ Dictionaries ได้:

for (studentId, studentName) in students {
    print("Student ID: \(studentId), Name: \(studentName)")
}

4. อัลกอริทึมคอลเลกชัน (Collection)

iOS Swift มีอัลกอริธึมในตัวที่หลากหลายเพื่อดำเนินการกับคอลเลกชันสำหรับการทำแอพ นี่คือตัวอย่างบางส่วน:

4.1 การเรียงลำดับ (Sorting) อาร์เรย์

สามารถใช้ฟังก์ชัน sorted() เพื่อสร้างอาร์เรย์ใหม่ที่มีองค์ประกอบของอาร์เรย์เดิมตามลำดับการจัดเรียง:

let sortedNumbers = numbers.sorted()
4.2 อาร์เรย์การกรอง (Filtering)

สามารถใช้ filter(_:) ฟังก์ชันเพื่อสร้างอาร์เรย์ใหม่ที่มีเฉพาะองค์ประกอบที่ตรงตามเงื่อนไขที่กำหนด:

let evenNumbers = numbers.filter { $0 % 2 == 0 }
4.3 อาร์เรย์การแมป (Mapping)

คุณสามารถใช้ map(_:) ฟังก์ชันเพื่อสร้างอาร์เรย์ใหม่โดยใช้การแปลงที่กำหนดกับแต่ละองค์ประกอบของอาร์เรย์เดิม:

let squaredNumbers = numbers.map { $0 * $0 }
4.4 การลด (reduce) อาร์เรย์

สามารถใช้ reduce(:🙂 ฟังก์ชันเพื่อรวมองค์ประกอบของอาร์เรย์โดยใช้การดำเนินการที่กำหนด ซึ่งส่งผลให้มีค่าเดียว:

let sum = numbers.reduce(0, +)
4.5 ยูเนี่ยน(union) อินเตอร์เซกชัน (intersection) และผลต่าง (subtracting) ของ Sets

คุณสามารถใช้ union(:), intersection(:), และ subtracting(_:) ฟังก์ชันเพื่อดำเนินการตั้งค่า:

let setA: Set<Int> = [1, 2, 3, 4]
let setB: Set<Int> = [3, 4, 5, 6]

let unionSet = setA.union(setB)
let intersectionSet = setA.intersection(setB)
let differenceSet = setA.subtracting(setB)

เราได้สำรวจพื้นฐานของคอลเลกชัน iOS Swift รวมถึงอาร์เรย์ ชุด (Sets) และพจนานุกรม (Dictionaries) เราได้หารือเกี่ยวกับวิธีการและคุณสมบัติของคอลเล็กชันเหล่านี้สำหรับการทำแอพและสาธิตวิธีการวนซ้ำ นอกจากนี้ เรายังกล่าวถึงอัลกอริทึมการรวบรวมในตัวที่ iOS Swift มีให้อีกด้วย การทำความเข้าใจแนวคิดเหล่านี้จะช่วยให้คุณสามารถจัดเก็บและจัดการข้อมูลในการทำแอพ Swift ของคุณได้อย่างมีประสิทธิภาพ

เขียน App iOS Swift

ตอนที่ 2 iOS Swift ฟังก์ชั่นและ Closures
ตอนที่ 4 iOS Swift Enumerations และโครงสร้าง (Structures)