Tutorial basic swift masterung

Page 1

คู่มืออบรม เขียนโปรแกรมบน iOS ด้วย ภาษา Swift

โดย มาสเตอร์ อึ่ง


SwiftCodingThai.com มาสเตอร์ อึ่ง ทอล์ค อะไร ? คือ Swift และ Swift คือ อะไร ? Swift คือ ภาษาใหม่ ที่ใช้ในการพัฒนา โค้ดที่จะใช้ในอุปกรณ์ ต่างๆ ของ Apple ที่ใช้ระบบปฎิบัติการ iOS เป็น ระบบปฏิบัติการ ไม่วา่ จะเป็น iPhone หรือ iPad ตัว Swift ถูกพัฒนามาจาก ภาษา Objective-C อีกที เป็นภาษาออกแบบมาให้ โปรแกรมเมอร์ ใช้ได้อย่าง ง่าย และ กระชับ ไม่ ซับซ้อนจนเกินความจําเป็นไป แบบ Objective-C ในการใช้งาน ภาษา Swift ต้องใช้ Xcode เวอร์ชั่น 6 ขึ้นไปเท่านั้น ในคู่มือเล่มนี้ เป็น Basic Swift ที่เน้นปูพื้นฐาน ให้สามารถโค้ด Swift บน Xcode ได้ และ นําไปต่อยอด ต่อไป สําหรับ หลายๆ ท่านที่อ่านแล้วไม่เข้าใจอะไร จะเข้าไป ถาม มาสเตอร์ ที่ http://swiftcodingthai.com หรือ https://www.facebook.com/SwiftCodingThai หรือ จะโทรถามเป็นการส่วนตัวที่ 0818595309 ได้ทุกเวลา ครับ มาสเตอร์ อึ่ง

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

2


SwiftCodingThai.com สารบัญ

อะไร ? คือ Swift และ Swift คือ อะไร ? ........................................................................................................................ 2 เปิด Xcode และ New Project ........................................................................................................................................ 4 กำหนด Workspace ....................................................................................................................................................... 5 ทําความรู้จัก main.swift ................................................................................................................................................. 5 println ............................................................................................................................................................................ 6 Type Safety and Type Interference .......................................................................................................................... 10 Get started with a playground .................................................................................................................................. 11 AppDelegate.swift....................................................................................................................................................... 15 ViewController.swift .................................................................................................................................................. 16 ทดสอบโค้ดด้วย iOS Simulator .................................................................................................................................. 16 Label ............................................................................................................................................................................ 18 Text Field .................................................................................................................................................................... 19 Button .......................................................................................................................................................................... 20 Decleration String ...................................................................................................................................................... 38 If – else Statement ...................................................................................................................................................... 39

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

3


SwiftCodingThai.com Hello World ก่อนที่เราจะเข้าไปทําความรู้จัก Swift เรามาเตรียมเครื่องมือสําหรับการเรียนรู้กันก่อน หลังจากที่เรา ติดตั่ง Xcode 6 เป็นที่เรียบร้อย เรามาลอง Hello World ใน Command Line Tool เพื่อเป็นพื้นฐานในการเรียน Swift กัน

เปิด Xcode และ New Project

เลือก OS X > Application และ Command Line Tool

กำหนด Options ต่างๆ สําหรับโปรเจ็ค ดังนี้

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

4


SwiftCodingThai.com กำหนด Workspace

Workspace เป็น โฟวเดอร์ ที่ไว้สําหรับ เก็บ Source Code ของเรา

ทําความรู้จัก main.swift

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

5


SwiftCodingThai.com println

println คือการพิมพ์ บน Console ลองเพิ่ม โค้ด สองบรรทัดนี่เข้าไป

และสั่งรันดู

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

6


SwiftCodingThai.com การประกาศตัวแปร และ ค่าคงที่ บน Swift การประกาศตัวแปร จะมี คําว่า var นําหน้า จะระบุชนิดของตัวแปร หรือ ไม่ระบุชนิดของตัวแปรก็ได้ สังเกตุว่า ทุกๆ คําสัง ของ Swift จะไม่มี เซมิโคร่อน (หรือ จะมีก็ได้ครับ) ส่วนค่าคงที่ จะมีคํานําหน้าว่า let แล้ว ค่าคงที่ กับ ตัวแปร แตกต่างกันอย่างไร ? ตัวแปร เปลี่ยนแปลงค่าได้ ตลอด ตรงข้ามกับ let ที่เป็นค่าคงที่ ไม่สามารถเปลี่ยนแปลงได้ ถ้าได้รับการกําหนด มาแล้ว

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

7


SwiftCodingThai.com ความสามาถพิเศษอีกอย่างของ Swift คือ เราสามารถ ใช้อะไร ? ก็ได้ มาแทนตัวแปร แทนที่จะต้องเป็น ตัวอักษร อย่างเดียว เราสามารถใช้ รูปภาพ มาแทน ได้ ครับ

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

8


SwiftCodingThai.com ที่บอกไปแล้วว่า ค่าคงที่ let ไม่สามารถแก้ไขค่าได้ (บรรทัดที่ 39) มาสเตอร์ Comment บรรทัด ที่ 39 และลอง รับโปรแกรม จะได้แบบนี่ ที่ Console

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

9


SwiftCodingThai.com Type Safety and Type Interference

คือการกําหนด ชนิดของ ข้อมูล Data Type จากตัวอย่าง ตัว Swift จะเลือก Data Type ที่เหมาะสมกับ ตัวแปรเอง

การเขียนโค้ด Swift บน PlayGround ใน Xcode 6 จะมีเครื่องมือในการทดสอบ หรือ เรียนรู้ การเขียนโค้ด Swift บน PlayGround ลอง New Project และ เลือก PlayGround และ พิมพ์ โค้ดเหล่านี่เข้าไป

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

10


SwiftCodingThai.com Get started with a playground

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

11


SwiftCodingThai.com

จากตัวอย่างที่ทดสอบ บน PlayGround บรรทัดที่ 13 จะมี Error เพราะ มาสเตอร์ จงใจแก้ไขค่า ของค่าคงที่ intX ที่เป็น let

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

12


SwiftCodingThai.com Hello World บน iOS Appplication ทีนี่เราจะลองทําแอพบน iPhone จริงๆละ

ไปที่ iOS > Application > Single View Application

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

13


SwiftCodingThai.com กําหนดค่าเริ่มต้นให้ โปรเจ็ค แบบนี้

กําหนดที่เก็บ สําหรับโค้ด ที่จะเขียนขึ้น

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

14


SwiftCodingThai.com ได้มาละ โปรเจ็คสําหรับ โค้ด Swift ที่จะใช้ สําหรับ การตั่งต้น

AppDelegate.swift

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

15


SwiftCodingThai.com ViewController.swift

ทดสอบโค้ดด้วย iOS Simulator

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

16


SwiftCodingThai.com การใช้ Text Field, Button and Label เดีย๋ วเราลองสร้าง Worlshop ง่ายๆ เกี่ยวกับ การใช้งาน Text Field, Button และ Label จาก โปรเจ็ค HelloWorld เปิด main.storyboard ออกมาแบบนี้

ประจอให้เหลือขนาดเท่า iPhone 4s ก่อนโดยการเลือก 2 ช่องแบบนี้

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

17


SwiftCodingThai.com

Label

คือ View ที่แสดงตัวอักษร

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

18


ปรับอักษรจนได้แบบนี้

SwiftCodingThai.com

Text Field

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

19


SwiftCodingThai.com Button

เพิ่ม Label อีกอันด่านล่าง

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

20


SwiftCodingThai.com ลองทดสอบการออกแบบ ที่ได้ บน Simulator

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

21


SwiftCodingThai.com

เริ่มการโค้ดดิ้งโดยการเปิด ViewController.swift ออกมา

คลิกเพื่อ รวมจอ

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

22


SwiftCodingThai.com

ภายในคลาส ViewControler มาสเตอร์ ตั่งชื่อ Text Field ว่า myTextField

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

23


SwiftCodingThai.com จะได้ การประกาศตัวแปร (มี var) ประกาศชนิดตัวแปรเป็น UITextField แบบนี้

ทําในส่วนของ Label บ้าง

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

24


SwiftCodingThai.com การประกาศตัวแปร ของ Button สังเกตุใน Connection ให้เลือก Action

เมื่อมีการคลิก จะทํางานที่ ปีกกา ใน func

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

25


SwiftCodingThai.com จะได้แบบนี้ ให้พิมพ์ คําสั่งนี่ลงไป

ลองทดสอบโค้ด บน iOS Simulator

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

26


SwiftCodingThai.com

ลองกรอกภาษาไทยบ้าง

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

27


SwiftCodingThai.com

Easy Login เป็น Workshop สําหรับ เรียนรู้ให้ วิธี การนําค่าที่ User กรอก ไปประมวลผล File > Close Project และ เตรียบ สร้าง โปรเจ็คใหม่ได้เลย

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

28


SwiftCodingThai.com เลือก Single View Application เหมือนเดิม

มาสเตอร์ ตั่งชื่อโปรเจ็คว่า EasyLogin

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

29


SwiftCodingThai.com ได้มาละ โปรเจ็ค EasyLogin ของเราที่ จะนํามาทํา Workshop

เปิด main.stroryboard ออกมา

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

30


SwiftCodingThai.com

ให้ได้ขนาดนี่

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

31


SwiftCodingThai.com เพิ่ม Text Field และ Label เข้าไปที่หน้า UI

และ ปุ่ม จน UI เรามีหน้าตาแบบนี้

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

32


SwiftCodingThai.com ลองทดสอบโค้ด ที่ออกแบบได้ บน iOS Simulator

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

33


SwiftCodingThai.com เปิด ViewController.swift ออกมาครับ

ประกาศตัวแปรให้ Text Field และ Button

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

34


SwiftCodingThai.com ของ Text Field ที่ใช้เก็บค่า ของ User

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

35


SwiftCodingThai.com ส่วนนี่ ของ Text Field ที่เก็บค่า Password

และสุดท้าย ของ Label

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

36


SwiftCodingThai.com

ต่อไปของ Button

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

37


SwiftCodingThai.com

Decleration String

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

38


SwiftCodingThai.com If – else Statement

โดยกําหนดเงื่อนไขให้ ดูว่าสิ่งที่ ผู้ใช้แอพกรอก User และ Password นั้นเท่ากับ ตัวแปร String ที่เรากําหนดไว้หรือ เปล่า โดยการเชื่อมด้วย and ถ้าใช่ จะแสดง ข้อความ Welcome my Boss ที่ Console แต่ถ้ามีอะไร ไม่ถูก สักแค่ตัวเดียว จะแสดงข้อมความ Login False แทน

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

39


SwiftCodingThai.com

ลองทดสอบโค้ด Swift ที่เขียนได้ บน iOS Simulator

ลองกรอก User, Password ให้ผิด และ กด Login

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

40


SwiftCodingThai.com ในทางตรงกันข้าม มาสเตอร์ ลองกรอก User และ Password ให้ถูกต้อง จะได้ผลดังนี้

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

41


SwiftCodingThai.com มาสเตอร์ เพิ่มโค้ด พวกนี่ลงไปเพื่อให้ คลิกที่จอ แล้ว Keyboard ซ่อนไปได้ และ มีความสามารถในการจัดการด้านสี

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

42


SwiftCodingThai.com

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

43


SwiftCodingThai.com

โดย มาสเตอร์ อึ่ง สถาบัน EWTC 53 บางนา-ตราด 14 บางนา กรุงเทพ 10260 โทร 0818595309

44


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.