Model

เริ่มจากโมเดลกันก่อน

ให้เราสร้างไฟล์ใหม่ ด้วยการคลิ๊กขวาที่โฟลเดอร์ TodoApp ใน Project navigator เลือก New File...

จากนั้นเลือก Swift File กด Next

ตั้งชื่อไฟล์เป็น Todo.swift เนื่องจากไฟล์นี้จะเป็นโค้ดของแอป ไม่ใช่โค้ดเทส ให้เลือก Target เป็น TodoApp เท่านั้น แล้วกด create

Xcode จะแสดงไฟล์ที่เพิ่งสร้างให้เรา

circle-info

ถ้าเรา enable Git เอาไว้ในตอนสร้างโปรเจค ที่ท้ายชื่อไฟล์จะมีสัญลักษณ์ขึ้นเมื่อมีการแก้ไข เช่น

M คือมีการแก้ไขไฟล์ที่ Git ได้ track ไว้แล้ว A คือไฟล์ที่ Git ได้ add แล้ว ? ที่ท้ายชื่อไฟล์ของเราเพื่อบอกว่านี่คือ Untracked

Todo.swift

ให้เราเขียนโค้ดดังนี้

บรรทัดที่ 3 - 29 เป็นการประกาศ Class Todo ที่เก็บรวบรวม TodoItem บรรทัดที่ 31 - 39 เป็น Class TodoItem

บรรทัดที่ 6 - 8 เรียกว่า compute property สามารถ get ค่าได้อย่างเดียวไม่สามารถ set ค่าได้เนื่องจากไม่สามารถเก็บค่าไว้ได้ โดยเมื่อเรียกจะได้จำนวน TodoItem ที่เก็บไว้ใน items กลับไป

บรรทัดที่ 10 - 12 เป็นการประกาศฟังก์ชั่นที่รับ Int และคืนเป็น TodoItem ใช้ในการ get TodoItem ที่เก็บไว้ใน items ตาม index ที่ระบุ

บรรทัดที่ 14 - 16 เป็นการประกาศฟังก์ชั่นที่รับ TodoItem ใช้ในการเก็บ TodoItem เพิ่ม โดยเพิ่มลงไปใน index ที่ 0 ของ items (Prepend)

บรรทัดที่ 18 - 20 เป็นการประกาศฟังก์ชั่นที่ใช้ลบ TodoItem ตาม index ที่ระบุ

บรรทัดที่ 22 - 24 เป็นการประกาศฟังก์ชั่นที่ใช้ในการหา index ของ TodoItem ที่อยู่ใน items

บรรทัดที่ 26 - 28 เป็นการประกาศฟังก์ชั่นที่ใช้ในการย้าย TodoItem ในตำแหน่ง sourceIndex ไปยัง destinationIndex

TodoItem.swift

เนื่องจาก Todo.swift มีคลาส TodoItem ปนอยู่ด้วยจะเป็นการดีกว่าที่เราจะแยกมันออกมาเป็นอีกไฟล์นึงแทน ให้เราสร้างไฟล์ใหม่ชื่อ TodoItem.swift

แล้วย้ายโค้ดมาที่นี่

Last updated