Swift เป็นภาษาโปรแกรมที่ใช้เขียนแอพและเกมสำหรับ iPhone, iPad, Mac, Apple Watch และอื่นๆ Apple ออกแบบ Swift อย่างชัดเจนเพื่อให้ได้ประสิทธิภาพที่รวดเร็วและมีประสิทธิภาพสูงสุดจากอุปกรณ์ต่างๆ และ Swift 5 ก็ขยายตามชุดคุณสมบัติที่น่าประทับใจอยู่แล้ว ในบทความนี้ เราจะแสดงวิธีใช้ Swift 5 อธิบายว่าทำไมคุณจึงควร และสรุปคุณลักษณะใหม่ทั้งหมดในภาษาเวอร์ชันนี้
หากคุณต้องการเข้าร่วม ให้ข้ามไปที่วิธีเริ่มต้นใช้งาน Swift 5 และสำหรับภาพรวมที่กว้างขึ้น โปรดดูคู่มือฉบับสมบูรณ์สำหรับการเขียนโปรแกรม Mac ซึ่งจะกล่าวถึงภาษาการเขียนโปรแกรมต่างๆ ที่คุณสามารถใช้ได้ใน macOS
ภาพรวมของ Swift 5
Swift 5 เป็นภาษาโปรแกรมที่พัฒนาโดย Apple ซึ่งช่วยให้นักพัฒนาสร้างแอปสำหรับ iOS, macOS, tvOS และ watchOS ได้
เวอร์ชันที่ห้าเปิดตัวพร้อมกับ Xcode 10.2 ในเดือนมีนาคม 2019 - เราพูดถึงคุณสมบัติใหม่ใน Swift 5 ในส่วนต่อมา - แต่ภาษา Swift นั้นมีมาระยะหนึ่งแล้ว:Swift 1.0 เปิดตัวในเดือนกันยายน 2014 ตามที่ Apple , Swift เร็วกว่า Objective C สูงสุด 2.6 เท่า และเร็วกว่า Python สูงสุด 8.4 เท่า
เหตุใดคุณจึงควรเขียนโค้ดใน Swift 5
1) Swift เป็น โอเพ่นซอร์ส . โดยทั่วไปแล้ว โอเพ่นซอร์สหมายความว่าซอร์สโค้ดที่อยู่เบื้องหลังโปรแกรมหรือภาษาโปรแกรมนั้นถูกเผยแพร่ต่อสาธารณชนทั่วไป ผู้เขียนโค้ดสามารถตรวจสอบ แก้ไข และปรับใช้โปรแกรมได้ทุกที่ที่ต้องการ
หน้าโอเพ่นซอร์สของ Apple กล่าวว่า:"Apple เชื่อว่าการใช้วิธีการแบบโอเพ่นซอร์สทำให้ macOS เป็นระบบปฏิบัติการที่ปลอดภัยและแข็งแกร่งยิ่งขึ้น เนื่องจากส่วนประกอบหลักอยู่ภายใต้การตรวจสอบจากเพื่อนตลอดหลายทศวรรษ"
2) Swift เรียนรู้ได้ง่าย . Apple สร้างภาษาให้ใช้งานง่าย เป็นภาษาในอุดมคติสำหรับผู้เริ่มต้น เนื่องจากไวยากรณ์เข้าใจง่าย หากคุณเคยพัฒนาซอฟต์แวร์มาก่อน คุณจะพบว่ารูปแบบและแนวคิดของ Swift ใกล้เคียงกับที่คุณใช้อยู่แล้ว
3) Swift เร็ว . Apple อ้างว่าอัลกอริธึมการค้นหาใน Swift นั้นสมบูรณ์เร็วกว่า Objective-C สูงสุด 2.6 เท่า และเร็วกว่า Python สูงสุด 8.4 เท่า
4) Swift ปลอดภัย . เมื่อคุณทำงานกับภาษานั้น คุณไม่ควรพบโค้ดที่ไม่ปลอดภัยใดๆ และจะใช้รูปแบบการเขียนโปรแกรมที่ทันสมัยเพื่อช่วยรักษาความปลอดภัยที่จำเป็นในแอปของคุณ
5) สนามเด็กเล่น . Xcode มาพร้อมกับคุณสมบัติที่เรียกว่า Playgrounds ซึ่งโปรแกรมเมอร์ Swift 5 สามารถเขียนโค้ดและดูผลลัพธ์ได้ทันที นี่คือวิธีใช้ Swift Playgrounds
6) Swift 5 นั้นพิสูจน์ได้ในอนาคต และให้คุณพัฒนาสำหรับแพลตฟอร์มต่างๆ ได้มากมาย:iOS, macOS, watchOS และ tvOS
7) Swift พัฒนาอย่างต่อเนื่อง กับทุกการอัพเดท Swift 5 นำความเสถียรของ ABI ที่รอคอยมายาวนาน ซึ่งหมายความว่าคอมไพเลอร์ Swift ในอนาคตจะสามารถคอมไพล์โค้ดที่เขียนใน Swift 5 ขึ้นไป และการย้ายโค้ดไปยัง Swift เวอร์ชันใหม่กว่าจะทำให้นักพัฒนารู้สึกเจ็บปวดน้อยลง นอกจากนี้ยังหมายความว่าผู้จำหน่าย OS จะสามารถฝัง Swift Standard Library ลงในระบบปฏิบัติการได้ และจะเข้ากันได้กับแอปพลิเคชันทั้งหมดที่สร้างด้วย Swift 5 และเวอร์ชันที่ใหม่กว่า
เราน่าจะได้ยินการพัฒนาอย่างรวดเร็วมากขึ้นที่ WWDC 2019
วิธีเริ่มต้นใช้งาน Swift 5
ในการพัฒนาแอพสำหรับ iOS คุณจะต้องมี Mac (MacBook, iMac หรือ Mac mini) และซอฟต์แวร์ฟรีที่เรียกว่า Xcode (เวอร์ชัน 10.2 ขึ้นไป) ทำตามขั้นตอนด้านล่างเพื่อเริ่มต้น:
- เปิด Mac App Store บนเดสก์ท็อปของคุณ
- ค้นหา 'Xcode' ในแถบค้นหา
- คลิก 'รับ' ข้างไอคอน Xcode
- คุณยังค้นหา Xcode ได้ใน Mac App Store ในเบราว์เซอร์ของคุณ
คอมไพเลอร์ออนไลน์
หากคุณไม่ได้วางแผนที่จะปรับใช้แอพของคุณ คุณสามารถใช้ Swift online complier ได้ตลอดเวลา นี่เป็นวิธีที่ยอดเยี่ยมในการเรียนรู้และรันโค้ด Swift
- Online Swift Playground รองรับ Swift 5 และให้คุณทดสอบและรันโค้ดได้
- Repl.it มีคอมไพเลอร์ออนไลน์ที่รองรับ Swift 4.2 ในขณะที่เขียน (พฤษภาคม 2019) แต่การอัปเดตจะครบกำหนดในเร็วๆ นี้
วิธีเขียนแอปอย่างง่ายใน Swift
เปิด Xcode แล้วเลือก ไฟล์> ใหม่> โครงการ . เลือก แอปมุมมองเดียว จากรายการเทมเพลต
ป้อนชื่อแอปและชื่อองค์กร (อาจเป็นชื่อบริษัทหรือชื่อของคุณเองก็ได้) ตัวระบุองค์กรมักจะเป็น URL บริษัทของคุณในลำดับที่กลับกัน - ตัวอย่างเช่น com.mycompany.myapp .
เลือก Swift เป็นภาษา แล้วคลิก ถัดไป . สุดท้าย เลือกตำแหน่งบน Mac ที่คุณต้องการให้ Xcode สร้างโครงการ
เมื่อสร้างโครงการคุณจะเห็นหน้าจอต่อไปนี้:
ที่นี่ คุณจะได้พัฒนาแอปอย่างง่าย ซึ่งผู้ใช้สามารถป้อนชื่อของพวกเขาในช่องข้อความและรับคำทักทายง่ายๆ เมื่อพวกเขากดปุ่ม
ในการเริ่มต้น ให้ไปที่ Main.storyboard ไฟล์ในบานหน้าต่างด้านซ้าย คุณจะเห็นมุมมองที่ว่างเปล่าปรากฏขึ้น คลิกปุ่มกลมที่มุมบนขวาเพื่อเปิดไลบรารีวัตถุ ลากช่องข้อความ ป้ายชื่อ และปุ่มไปที่มุมมอง
เลือกปุ่มในมุมมองลำดับชั้นและตั้งชื่อเป็น "สร้างคำทักทาย" ในพื้นที่ยูทิลิตี้ทางด้านขวามือ
ดับเบิลคลิกที่ ViewController.swift ไฟล์. จะเปิดในหน้าต่างแยกต่างหาก
ตอนนี้เลือกฟิลด์ข้อความในมุมมองและกด Ctrl . ค้างไว้ แล้วลากไปที่ด้านบนของ ViewController ระดับ. คุณจะได้รับแจ้งให้สร้าง IBOutlet สำหรับฟิลด์ข้อความ เรียกมันว่า "textField"
ทำเช่นเดียวกันกับป้ายกำกับและตั้งชื่อ IBOutlet "label" คุณจะต้องทำเช่นเดียวกันกับปุ่ม แต่แทนที่จะลากไปที่ด้านบนของ ViewController ให้ลากไปด้านล่างเพื่อสร้างวิธีการ IBAction ตั้งชื่อวิธีการ "buttonTapped"
IBOutlets ใช้เพื่อเข้าถึงการควบคุมในกระดานเรื่องราวในโค้ดของเรา และวิธีการ IBAction ใช้สำหรับตอบสนองต่อเหตุการณ์ของปุ่ม เช่น การแตะ
เพิ่มรหัสต่อไปนี้ใน buttonTapped วิธีการของ ViewController . ของคุณ คลาส:
ถ้าให้ชื่อ =textField.text {
self.label.text ="สวัสดี " + ชื่อ
}
นี่คือลักษณะของไฟล์ ViewController.swift หลังจากการเปลี่ยนแปลงเหล่านี้:
ตอนนี้คุณพร้อมที่จะเรียกใช้แอปแล้ว กดปุ่มเรียกใช้ แล้วแอปจะเปิดขึ้นบนเครื่องจำลอง
เมื่อผู้ใช้เพิ่มชื่อลงในช่องข้อความและแตะปุ่ม ป้ายกำกับที่ด้านล่างจะแสดงคำว่า "สวัสดี" พร้อมกับชื่อที่ป้อน
แนวคิด Swift 5 (พื้นฐานและขั้นสูง)
เราได้สร้างแอพที่เรียบง่าย ตอนนี้ มาดูวิธีการและข้อมูลโค้ดบางส่วนที่คุณสามารถใช้ได้ในโครงการแอปของคุณเอง
การพิมพ์ข้อความในภาษา Swift
พิมพ์("สวัสดีชาวโลก!")
การกำหนดตัวแปร
ใช้ 'let' เพื่อสร้างค่าคงที่และ 'var' เพื่อกำหนดตัวแปร ค่าคงที่ไม่สามารถเปลี่ยนแปลงได้เมื่อกำหนดแล้ว ค่าของตัวแปรสามารถเปลี่ยนแปลงได้ ผู้ใช้ไม่จำเป็นต้องเขียนประเภทอย่างชัดเจนเสมอไป การระบุค่าเมื่อคุณสร้างค่าคงที่หรือตัวแปรช่วยให้คอมไพเลอร์สรุปประเภทของมันได้
ให้ constVar =42
var numberVar =27
นักพัฒนายังสามารถระบุประเภท ในตัวอย่างด้านล่าง เรากำลังประกาศจำนวนเต็ม
var numberVar:Int =27
คอมเมนต์เป็นภาษา Swift
ความคิดเห็นในภาษา Swift แบ่งออกเป็น 2 ประเภท
บรรทัดเดียว:
//นี่คือความคิดเห็น
ความคิดเห็นหลายบรรทัด:
/* นี่คือ
ความคิดเห็นหลายบรรทัด */
การตัดสินใจอย่างรวดเร็ว
ไวยากรณ์ของ คำสั่ง if ใน Swift มีดังนี้:
ถ้า boolean_expression {
/* คำสั่งจะดำเนินการหากนิพจน์บูลีนเป็นจริง */
}
ตัวอย่างเช่น:
ไวยากรณ์ของ คำสั่ง if...else ใน Swift 5 มีดังนี้:
ถ้า boolean_expression {
/* คำสั่งจะดำเนินการหากนิพจน์บูลีนเป็นจริง */
} อื่น ๆ {
/* คำสั่งจะดำเนินการหากนิพจน์บูลีนเป็นเท็จ */
}
ตัวอย่างเช่น:
ไวยากรณ์ของ if...else if...else statement ใน Swift 5 มีดังนี้:
ถ้า boolean_expression_1 {
/* ดำเนินการเมื่อนิพจน์บูลีน 1 เป็นจริง */
} else if boolean_expression_2 {
/* ดำเนินการเมื่อนิพจน์บูลีน 2 เป็นจริง */
} else if boolean_expression_3 {
/* ดำเนินการเมื่อนิพจน์บูลีน 3 เป็นจริง */
} อื่น ๆ {
/* ทำงานเมื่อไม่มีเงื่อนไขข้างต้นเป็นจริง */
}
ตัวอย่างเช่น:
เปลี่ยนคำสั่ง
ต่อไปนี้คือรูปแบบทั่วไปของคำสั่ง switch ที่มีอยู่ใน Swift 5 ในที่นี้ หากมีการใช้ fallthrough การดำเนินการในกรณีถัดไปจะดำเนินการต่อไป และจากนั้นจะออกจากคำสั่ง Switch
เปลี่ยนนิพจน์ {
นิพจน์กรณี1 :
คำชี้แจง
fallthrough /* ทางเลือก */
กรณี expression2, expression3 :
คำชี้แจง
fallthrough /* ทางเลือก */
ค่าเริ่มต้น :/* ไม่บังคับ */
คำสั่ง);
}
ตัวอย่างเช่น:
อาร์เรย์
สร้างอาร์เรย์และพจนานุกรมโดยใช้วงเล็บเหลี่ยม - เช่น [ และ ] - และเข้าถึงองค์ประกอบโดยการเขียนดัชนีหรือคีย์ในวงเล็บ บรรทัดต่อไปนี้สร้างอาร์เรย์
var arrayList =["Swift", "JavaScript", "Java", "PHP"]
ในการเข้าถึงและแก้ไของค์ประกอบที่สองของอาร์เรย์ เราสามารถเขียนโดยตรงว่า:
arrayList[2] ="ตอบสนองพื้นเมือง"
หากต้องการสร้างอาร์เรย์ว่าง ให้ใช้ไวยากรณ์เริ่มต้น
var emptyArray =[สตริง]()
emptyArray =[]
พจนานุกรม
var careers =["สตีฟ":"ผู้พัฒนา", "เคท":"นักออกแบบ",]
ในการเข้าถึงและแก้ไขค่าใดๆ สำหรับพจนานุกรม เราสามารถเขียนได้โดยตรง:
อาชีพ["สตีฟ"] ="CTO"
หากต้องการสร้างพจนานุกรมเปล่า ให้ใช้ไวยากรณ์เริ่มต้น
อาชีพ =[:]
ชุด
ชุดใน Swift คล้ายกับอาร์เรย์แต่มีค่าเฉพาะเท่านั้น
var a :Set =[1,2,3,4,5,6,7,8,9,0]
Swift ยังแนะนำประเภท Optionals ซึ่งจัดการการไม่มีค่า ตัวเลือกบอกว่า "มีค่าหนึ่งและเท่ากับ x" หรือ "ไม่มีค่าเลย" คุณสามารถกำหนดตัวเลือกด้วย '?' หรือ '!'
var myString:String?
'?' หมายถึงค่าสามารถมีหรือไม่มีก็ได้
'!' หมายความว่าค่าสามารถเป็นศูนย์ในขั้นต้น แต่ในอนาคตเมื่อใช้งานจะต้องมีค่า มิฉะนั้นจะทำให้เกิดข้อผิดพลาดรันไทม์
ไม่มีเครื่องหมายหมายความว่าตัวแปรนี้ไม่มีทางเลือก และจำเป็นต้องกำหนดค่า มิฉะนั้นจะทำให้เกิดข้อผิดพลาดของคอมไพเลอร์
ฟังก์ชัน
ต่อไปนี้เป็นไวยากรณ์ในการสร้างฟังก์ชันใน Swift:inputNum คือชื่อพารามิเตอร์ตามด้วย DataType 'createStr' คือชื่อของฟังก์ชัน '-> สตริง' หมายถึงประเภทการส่งคืน ฟังก์ชันใช้จำนวนเต็มเป็นอินพุตและแปลงเป็นสตริงแล้วคืนค่ากลับมา
func createStr(Number inputNum :Int) -> String
{
ส่งคืน "\(inputNum)"
}
สามารถเรียกใช้ฟังก์ชันโดยใช้ไวยากรณ์ด้านล่าง:
createStr(หมายเลข:345)
คลาส
ต่อไปนี้เป็นรูปแบบการสร้าง Class Car มีตัวแปรสมาชิกทางเลือก numOfPersons และฟังก์ชัน displayDetails()
คลาสคาร์
{
var numOfPersons :Int?
func displayDetails() {
}
}
สามารถสร้างอินสแตนซ์ของคลาสได้โดยใช้บรรทัดด้านล่าง:
var myCar :Car =Car()
ตัวแปร 'numOfPersons' สามารถเริ่มต้นได้ดังนี้:
myCar.numOfPersons =5
ปิดใน Swift
การปิดเป็นฟังก์ชันที่ไม่ระบุชื่อซึ่งจัดเป็นบล็อกและเรียกได้ทุกที่ เช่น ภาษา C และ Objective-C การปิดสามารถกำหนดให้กับตัวแปรได้ ต่อไปนี้เป็นไวยากรณ์ของการปิดใน Swift
{
(พารามิเตอร์) −> ประเภทการส่งคืนใน
แถลงการณ์
}
ด้านล่างนี้เป็นตัวอย่างง่ายๆ ที่นี่เรากำลังกำหนดการปิดตัวแปร scname . จากนั้นในบรรทัดถัดไป เราจะเรียกการปิดโดยเรียกชื่อตัวแปร
ส่วนขยาย
ใน Swift เราสามารถขยายการทำงานของคลาส โครงสร้าง หรือการแจงนับที่มีอยู่ได้ด้วยความช่วยเหลือของส่วนขยาย สามารถเพิ่มฟังก์ชันประเภทด้วยส่วนขยายได้ แต่วิธีนี้ไม่สามารถแทนที่ฟังก์ชันการทำงานได้
ในตัวอย่างด้านล่าง เรามีรถคลาสและเรากำลังเพิ่มส่วนต่อขยายให้กับรถเพื่อเพิ่มคุณสมบัติอื่นเข้าไป ขณะเข้าถึงคุณสมบัติความเร็ว สามารถเข้าถึงได้โดยตรงราวกับว่าเป็นของชั้นเรียน
ทูเพิลส์
ชนิดทูเพิลใช้เพื่อจัดกลุ่มค่าหลายค่าในค่าผสมเดียว นี่คือไวยากรณ์ของการประกาศทูเปิล:
var TupleName =(ค่า 1, ค่า 2,… จำนวนค่าใดก็ได้)
นี่คือคำประกาศของทูเปิล:
var error501 =(501 "ไม่ได้ใช้งาน")
ฟีเจอร์ใหม่ใน Swift 5
มาดูองค์ประกอบใหม่ใน Swift 5 แบบละเอียดกัน
Raw Strings
Swift 5 นำเสนอสตริงดิบ ซึ่งเป็นคุณสมบัติที่ช่วยให้สร้างสตริงที่มีเครื่องหมายอัญประกาศและแบ็กสแลชได้ง่ายขึ้นโดยไม่จำเป็นต้องใช้ Escape Sequence เหมือนใน Swift เวอร์ชันก่อนหน้า ในสตริงดิบ เครื่องหมายอัญประกาศและแบ็กสแลชจะถูกตีความตามตัวอักษรว่าเป็นสัญลักษณ์เหล่านั้น แทนที่จะตีความว่าเป็นการสิ้นสุดสตริงหรืออักขระหลีก
หากต้องการใช้สตริงดิบ คุณจะต้องเพิ่ม # ที่จุดเริ่มต้นและจุดสิ้นสุดของสตริง:
เนื่องจากแบ็กสแลชในสตริงดิบถูกตีความว่าเป็นสัญลักษณ์ตามตัวอักษร หากต้องการใช้การแก้ไขสตริงในสตริงดิบ คุณต้องเพิ่มอีก # หลังเครื่องหมายแบ็กสแลช:
หากคุณต้องการใช้ "# เรียงลำดับกันภายในสตริงดิบที่คุณต้องเพิ่ม ## ที่จุดเริ่มต้นและจุดสิ้นสุดของสตริง:
การหาจำนวนเต็มทวีคูณ
ใน Swift 4.2 และเวอร์ชันก่อนหน้า หากต้องการค้นหาว่าตัวเลขใดเป็นผลคูณของอีกจำนวนหนึ่ง คุณจะต้องใช้ตัวดำเนินการโมดูโล (%) ตอนนี้ใน Swift 5 มีวิธีการเฉพาะ ซึ่งทำให้โค้ดชัดเจนยิ่งขึ้น:
การจัดการกับกรณี enum ในอนาคต
คำสั่ง Switch ใน Swift จะต้องครบถ้วนสมบูรณ์เสมอ ซึ่งหมายความว่าคุณต้องจัดการกับ enum case ทั้งหมดหรือจัดการเฉพาะ case เฉพาะด้วยการเพิ่ม default กรณีที่จัดการกรณีอื่นๆ ทั้งหมด:
ปัญหาของแนวทางนี้คือหากในอนาคตผู้พัฒนาตัดสินใจที่จะเพิ่มเคสอื่นใน enum คอมไพเลอร์จะไม่มีการเตือนว่ามีการเพิ่มเคสใหม่ ซึ่งหมายความว่ากรณีใหม่จะได้รับการจัดการโดยค่าเริ่มต้น ซึ่งไม่ใช่สิ่งที่ต้องการเสมอไป
เพื่อแก้ไขปัญหานี้ @unknown . ใหม่ เพิ่มแอตทริบิวต์ใน Swift 5 คุณใช้แอตทริบิวต์นี้ร่วมกับตัวพิมพ์เริ่มต้น
ด้วย @unknown กรณีเริ่มต้นในคำสั่ง switch คอมไพเลอร์จะออกคำเตือนหากมีการเพิ่มกรณีใหม่ลงใน enum ในอนาคต ด้วยวิธีนี้ผู้พัฒนาสามารถตัดสินใจว่าจะจัดการกับคดีใหม่หรือไม่
ตัวเลือกที่ซ้อนกันแบบแบนราบ
ทางเลือกที่ซ้อนกันสามารถสร้างได้ด้วยการจัดการโค้ดที่ส่งโดยใช้ ลองไหม . ใน Swift 5 ตัวเลือกที่ซ้อนกันจะถูกทำให้แบนเป็นตัวเลือกปกติ ซึ่งตรงกับพฤติกรรมของการหล่อแบบมีเงื่อนไขและการเชื่อมโยงทางเลือก
ในตัวอย่างข้างต้น คุณจะเห็นว่า รุ่น ตัวแปรเป็นประเภท String? และไม่ใช่ สตริง ?? เหมือนใน Swift 4.2
ประเภทผลลัพธ์ในไลบรารีมาตรฐาน
ใน Swift 5 ผลลัพธ์ เพิ่มประเภทลงในไลบรารีมาตรฐานแล้ว ผลลัพธ์ type ช่วยให้คุณจัดการข้อผิดพลาดในโค้ดแบบอะซิงโครนัสได้อย่างง่ายดายและสะอาด มันถูกนำไปใช้เป็น enum กับ ความสำเร็จ และ ความล้มเหลว กรณี ทั้งสองกรณีดำเนินการโดยใช้ข้อมูลทั่วไป ความสำเร็จ กรณีสามารถมีค่าที่เกี่ยวข้องได้ทุกประเภทในขณะที่ความล้มเหลว กรณีต้องมีค่าที่เกี่ยวข้องที่สอดคล้องกับ ข้อผิดพลาด มาตรการ. นี่คือตัวอย่างที่สาธิตการใช้ ผลลัพธ์ ประเภท:
ในตัวอย่างข้างต้น เราได้ติดตั้ง ApiClient . อย่างง่าย ที่ดึงชื่อจาก URL โปรดทราบว่าพารามิเตอร์ที่สองใน fetchNames ฟังก์ชันคือการปิดเสร็จสมบูรณ์ที่ยอมรับ ผลลัพธ์ พิมพ์. ผลลัพธ์ พิมพ์ในตัวอย่างของเราโดยใช้ [String] สำหรับกรณีความสำเร็จและ ApiError สำหรับกรณีความล้มเหลว
ตอนนี้ เราสามารถใช้โค้ดด้านบนได้ดังนี้:
คุณลักษณะอื่นๆ ใน Swift
เราดูคุณสมบัติใหม่ในเวอร์ชันล่าสุดใน Swift ในเวอร์ชันก่อนหน้า แต่ก็ยังคุ้มค่าที่จะรู้เกี่ยวกับคุณสมบัติที่ใช้งานได้จากเวอร์ชั่นเก่า นี่คือไฮไลท์บางส่วนที่เพิ่มเข้ามาใน Swift 4:
สตริง
สำหรับ Swift 4 นั้น String จะเป็นไปตามโปรโตคอลคอลเลคชัน และคุณสามารถวนซ้ำผ่าน String ได้โดยตรง นอกจากนี้ยังหมายความว่าคุณสามารถใช้วิธีการรวบรวมและคุณสมบัติบน String เช่น count, isEmpty, map(), filter(), index(of:) เป็นต้น
Swift ใช้แนวทางที่แตกต่างไปจากเดิมอย่างสิ้นเชิงสำหรับสตริงหลายบรรทัดโดยใช้อัญประกาศสามตัวแทน ดังนั้นคุณจึงไม่ต้องหลีกเลี่ยงอัญประกาศคู่อีกต่อไป:
การเข้ารหัสและถอดรหัส JSON
Swift 4 ลดความซับซ้อนของกระบวนการเก็บถาวร JSON และการทำให้เป็นอนุกรมที่คุณเคยทำใน Swift 3 ตอนนี้ คุณเพียงแค่ทำให้ประเภทที่กำหนดเองของคุณใช้โปรโตคอล Codable ซึ่งรวมเอาทั้งแบบเข้ารหัสและแบบถอดรหัสได้
เส้นทางคีย์ที่ชาญฉลาดยิ่งขึ้น
Swift 4 ช่วยให้เข้าถึงคุณสมบัติของวัตถุได้ง่ายขึ้นด้วยเส้นทางหลัก
การผสมผสานคลาสกับโปรโตคอล
คุณสามารถรวมโปรโตคอลเข้าด้วยกันใน Swift 3 เมื่อสร้างค่าคงที่และตัวแปร Swift 4 ก้าวไปอีกขั้นหนึ่งและให้คุณเพิ่มคลาสให้กับมิกซ์โดยใช้ไวยากรณ์เดียวกัน คุณสามารถจำกัดอ็อบเจกต์บางอย่างให้กับคลาสและโปรโตคอลได้เพียงครั้งเดียวในลักษณะเดียวกับใน Objective-C
สลับกับ swapAt
swap(_:_:) วิธีการกลายพันธุ์ใน Swift 3 ใช้สององค์ประกอบของอาร์เรย์บางตัวและสลับกันทันที โซลูชันนี้มีข้อเสียเปรียบหลักประการหนึ่ง:องค์ประกอบที่สลับจะถูกส่งไปยังฟังก์ชันเป็นพารามิเตอร์อินพุตเพื่อให้สามารถเข้าถึงได้โดยตรง
Swift 4 ใช้แนวทางที่แตกต่างไปจากเดิมอย่างสิ้นเชิงโดยแทนที่วิธีการด้วย swapAt(_:_:) ซึ่งนำดัชนีที่สอดคล้องกันของทั้งสององค์ประกอบมาสลับกันเหมือนเมื่อก่อน
พจนานุกรมและเซต
คุณสามารถใช้ init(uniqueKeysWithValues:) ของพจนานุกรม initialiser เพื่อสร้างพจนานุกรมใหม่เอี่ยมจากอาร์เรย์ทูเพิล
สถานที่ที่ดีที่สุดในการเรียนรู้เพิ่มเติมเกี่ยวกับการเขียนโปรแกรม Swift 5
มีแหล่งข้อมูลมากมายที่จะช่วยคุณเริ่มสร้างแอพโดยใช้ Swift 5 ตัวเลือกที่ดีที่สุดบางตัวอยู่ด้านล่าง:
เอกสารของ Apple: สถานที่ที่ดีที่สุดในการเรียนรู้ Swift 5 คือเอกสารประกอบอย่างเป็นทางการของ Apple สำหรับ Swift
eBook: Apple ได้เปิดตัว eBook เวอร์ชันล่าสุดซึ่งมีประโยชน์อย่างยิ่งในการเรียนรู้ Swift 5:The Swift Programming Language (Swift 5.0)
Udemy :บริการการเรียนรู้ผ่านวิดีโอออนไลน์ที่ใหญ่ที่สุดมีหลักสูตรหลายหลักสูตรที่ครอบคลุม Swift เวอร์ชันต่างๆ นี่คือบางส่วนที่ครอบคลุม Swift 5:
- การเขียนโปรแกรม Swift 5 สำหรับผู้เริ่มต้น
- iOS 12 &Swift 5:สร้างแอป To Do List
เขียนโปรแกรม Swift ในขั้นตอนง่ายๆ - ครอบคลุม iOS 12 และ Swift 5: หนังสือเล่มนี้ โดยผู้เขียนบทความนี้ จะสอนวิธีสร้างแอป iOS โดยใช้ Swift 5 ตั้งแต่เริ่มต้น และมีภาพประกอบครบถ้วน คุณสามารถรับสำเนาจาก Amazon
การแฮ็กด้วย Swift: วิธีที่ยอดเยี่ยมในการเรียนรู้เกี่ยวกับการพัฒนาด้วย Swift คือการใช้หนังสือบนเว็บไซต์ Hacking with Swift มันถูกดูแลโดย Paul Hudson ผู้พัฒนาและผู้ที่ชื่นชอบ Swift ที่ยอดเยี่ยม
เรามีแหล่งข้อมูลเพิ่มเติมในบทความแยก:วิธีเรียนรู้ Swift