เรียนภาษา Swift กับ ThaiSwiftClass.com ตอน Extension

Thai Swift Class บทนี้จะเรียนรู้เรื่อง การใช้ Extension กันนะครับ Extension ใน Swift จะมีประโยชน์มากโดยเราจะทำให้ ประเภทของตัวแปร (type),structure หรือแม้แต่ class มีความสามารถเพิ่ม เติมขึ้นมาตามงานที่เราต้องการใช้ได้ ลองมาดูตัวอย่างกันก่อนครับ   ตัวอย่างแรก : ลองประกาศตัวแปร sName เป็น String มีค่า “Swift” แล้ว อยากลองใส่ .”hello()” ต่อท้ายดู

เรียนภาษา Swift กับ ThaiSwiftClass.com ตอน Protocol & Delegates Part 2

มาต่อกันกับเรื่อง Protocol & Delegates นะครับ คราวนี้เรามาเรียนรู้เรื่องการใช้งาน Delegate กันดูนะครับ แล้ว Delegate คืออะไร ลองไปดูความหมายซะก่อน “Delegate (N) ตัวแทน”  ครับแปลง่ายๆ Delagate ทำหน้าที่เป็นตัวแทน โดยเราจะสร้าง class ที่ใช้ protocol มาทำการ delegate ให้กับอีก class นึง โดยการที่เราต้องนำ protocol เข้ามาช่วยเพื่อให้แน่ใจว่า method หรือ function ทั้งหมดใน protocol นั้นจะถูกนำไปใช้ทำหน้าที่ delegate อย่างแน่นอน

เรียนภาษา Swift กับ ThaiSwiftClass.com ตอน Protocol & Delegates Part 1

สำหรับบทนี้การสร้างตัวเชื่อมให้แต่ละ Class สื่อสารกันได้ง่ายขึ้นใน Swift โดยจะเป็นการใช้คำสั่ง Protocol ในการทำหน้าที่เป็นตัวแทน (Delegates) เรามารู้ความหมายของคำว่า Protocol ก่อนดีกว่า  “Protocal (n) ข้อตกลงในการทำการสื่อสาร การกำหนดความหมาย และวิธีการในการสื่อสาร”     ถ้าจะอธิบายให้ชัดคือเวลานำมาใช้กับการเขียนโปรแกรมคือ Protocol จะทำหน้าที่เป็นสื่อกลางเก็บทั้ง Method (Function) และ Property (ตัวแปร) เอาใว้ สำหรับนำไปใช้ได้ทั้งใน Class (class) Structure (struct) และ Enumurator (enum) ต่อได้นั่นเอง                 ลองมาดูตัวอย่างการใช้งาน Protocol...

เรียนภาษา Swift กับ ThaiSwiftClass ตอน การ ใช้งาน Computed Properties

ในบทที่ผ่านๆมาเราได้เรียนเรื่องการประกาศตัวแปรแบบต่างๆกันมาแล้ว ใน Swift เองยังมีการประกาศตัวแปรที่สามารถเพิ่มเงื่อนไขหรือเขียนข้อกำหนดต่างๆเข้าไปในตัวแปรได้อีก เรียกว่า Computed Properties ใน Swift จะมี ตัวแปรแบบ Computed Properties คือการที่เราเพิ่มความสามารถให้กับตัวแปรที่ต้องการ โดยการใช้คำสั่ง get และ set เข้าไป ทำให้ลดการเขียนลงได้พอสมควรเพราะเงื่อนไขบางอย่างสามารถจบลงที่การเรียกใช้หรือตั้งค่าให้กับตัวแปรนั้นๆได้เลย  ลองดูตัวอย่างจาก class exchange_rate กันก่อน