Intermediate Swift
จากที่เขียนเรื่อง Basic ไปเมื่อคราวที่แล้ว ( http://www.macbaszii.com/2014/06/introduction-to-swift.html ) คราวนี้มาเรื่องที่ยากขึ้นหน่อยแล้วกันเนอะ โดยบาง Feature ของภาษา Swift บางอย่างก็จะมีอยู่แล้วใน Objective-C แต่ทำให้ดูน่ารัก น่าใช้ขึ้นอีกหน่อย Optionals เคยไหม ? ฟังก์ชั่นสักตัวที่ให้ค่ากลับมาเป็นผลลัพธ์ หรือบางทีก็ไม่ (nothing value) เรามักจะแยกประเภทเวลาที่ฟังก์ชั่นส่งค่าที่สื่อถึงการไม่มีค่ากลับมา เช่นถ้าเป็น NSRange ก็จะส่ง NSNotFound กลับมา อะไรที่เกี่ยวกับ Index เช่นการหาข้อมูลบางอย่างใน Array ก็จะส่ง -1 หรือไม่ท่าพื้นฐานก็ส่ง nil กลับมาเลย ทำให้ต้องไปดู Protocol ของฟังก์ชั่นที่ใช้ แล้วเช็คเงื่อนไขให้ถูกต้องนั่นแหละ แต่ใน Swift มีแนวคิดของการใช้ Optionals ตอนนี้เรามี " nothing value หรือปล่าว ?" ให้ใช้กันแล้ว เพียงแค่เติม ? ต่อท้ายไปเท่านั้นเอง มาดูตัวอย่างโค้ดนี้กัน จากตัวอย่าง Property Car ใน Person Class เป็น Optional นั่นหมายความ "คนอาจจะมี หรือไม่มีรถก็ได้" โดยเราจะไม่สามารถเข้าถึง Property ที่เป็น Optional ได้โดยตรงจะต้องทำสิ่งที่เ...