[เล่นเพลง] DAN AMRMENDARIZ: ทุกคน ยินดีต้อนรับสู่การสัมมนา CS50 ที่ การพัฒนา App iOS ของคุณกับสวิฟท์ ฉันแดน Armendariz และฉันเป็นพระอุปัชฌาย์ วิทยาการคอมพิวเตอร์ที่นี่ที่ฮาร์วาร์ และชั่วโมงถัดไปเป็นไปได้ ทัวร์ลมกรดของสิ่งที่มากที่สุดเท่าที่ เกี่ยวกับหัวข้อนี้ที่เราสามารถใส่ ผมจะโพสต์ทั้งหมดของรหัสที่มา ที่คุณจะได้เห็นในวันนี้ออนไลน์ เราอาจจะไม่สามารถที่จะ จริงไปทุกอย่าง ว่าฉันว่าฉัน แสดงในชั่วโมงนี้ แต่อย่างน้อยหวังว่าจะผ่าน ความคิดเห็นของรหัสที่มาที่ คุณจะสามารถที่จะพยายามที่จะคิดออกว่า ตรงที่เกิดขึ้นสำหรับสิ่งเหล่านั้น ที่เราไม่ได้ค่อนข้างได้รับการ โดยรวม, โครงสร้างของ พูดคุยในวันนี้จะเป็นดังนี้ เราจะเริ่มต้นทำบางขั้นพื้นฐาน ไวยากรณ์กับภาษาสวิฟท์ จะเข้าไปในบางส่วนของที่สูงขึ้น ไวยากรณ์ของภาษาสวิฟท์ เพราะภาษา เป็นจริงที่ทันสมัย​​และ มีจำนวนมากของระดับสูง คุณสมบัติสิ่งที่เราไม่ได้ เห็นใน C ตลอด CS50 หรือ แม้กระทั่งบางภาษาอื่น ๆ ที่เราได้เริ่มต้น ใช้ใน CS50 เช่น PHP, ดังนั้นฉันจะต้องพยายามที่จะ แนะนำยังมีบางหัวข้อที่ ที่เกี่ยวข้องกับภาษาระดับที่สูงขึ้น ที่คุณอาจไม่เห็นในเชิงลึกใน CS50, แต่คุณจะเห็นในภายหลัง เรียนวิทยาการคอมพิวเตอร์ ดังนั้นมันจะเป็น แน่นชั่วโมง และโปรดอย่าลังเลที่จะแจ้งให้เรา รู้ว่าถ้าคุณมีคำถามใด ๆ ดังนั้นหากคุณสนใจ ในการทำการพัฒนา กับสวิฟท์หรือจริงๆ ใด ๆ ที่พัฒนา app iOS ของคุณ, มีคู่ของความต้องการ ก่อนอื่นคุณจะต้องมีการใช้ Mac วิ่งในตัวอย่าง ที่เราจะต้องใช้ในวันนี้ เป็นรุ่นที่ค่อนข้างใหม่ของระบบปฏิบัติการ เอ็กซ์ในกรณีนี้ผมใช้ X 10.5 คุณสามารถจะทำงาน 10.11 ถ้าคุณต้องการ แต่ทุกอย่างที่คุณกำลังจะไป เห็นจะเกี่ยวข้องกับ Xcode 7 และต่อมา ซึ่งมีรุ่นล่าสุด ของสวิฟท์ซึ่งเป็นสวิฟท์ 2.0 นี้เป็นจริงสวย แตกต่างที่สำคัญ จำนวนมากของไวยากรณ์มี การเปลี่ยนแปลงอย่างมีนัยสำคัญสวย ในบางกรณีจากสวิฟท์ 1.0 ซึ่งได้รับการปล่อยตัวเมื่อปีที่แล้ว ไปสวิฟท์ 2.0 ซึ่ง เพิ่งออกมาฤดูใบไม้ร่วงนี้ ดังนั้นเราจะแสดงให้สวิฟท์ 2.0 จำนวนมากของสิ่งที่ คุณสามารถค้นหาออนไลน์ เมื่อคุณกำลังพยายามที่จะได้รับเพิ่มเติม ข้อมูลเกี่ยวกับความหลากหลายของสิ่งต่างๆ คุณอาจต้องการอย่างชัดเจน ค้นหาสวิฟท์ 2 มากกว่าสวิฟท์เก่าเพียงธรรมดาที่จะทำให้ ตรวจสอบให้แน่ใจว่าคุณได้รับไวยากรณ์ที่ถูกต้อง ในความเป็นจริงนี้เป็นจริงโดยทั่วไป มีจำนวนอย่างรวดเร็วของการพัฒนาเป็น ที่เกิดขึ้นในภาษาสวิฟท์ นับตั้งแต่แอปเปิ้ลปล่อยให้มันผมคิดว่า สิ่งที่จะได้รับน้อยกว่าปี ตอนนี้ และสิ่งที่มีการเปลี่ยนแปลง อย่างมากในช่วงเวลานั้น และเพื่อไม่ต้องผิดหวัง ถ้าเมื่อคุณมองไปรอบ ๆ สำหรับหัวข้อในสวิฟท์หรือวิธีการที่จะประสบความสำเร็จ สิ่งที่ใช้โค้ดตัวอย่างบางส่วน หรือสิ่งที่มันไม่ได้ ทำงานจริงในสวิฟท์ 2.0 ให้แน่ใจว่าคุณกำลังมองหา โดยเฉพาะสำหรับรุ่นที่ เพื่อพยายามที่จะลดผลกระทบที่แตกต่างกัน รุ่นและทุกประเภทของสิ่งเหล่านั้น ฉันจะพยายามที่จะชี้ให้เห็นเพียงแค่บางสิ่งบางอย่าง ที่แตกต่างกับรุ่นเก่า แต่มันเป็นสิ่งที่ต้องระวัง ที่อาจเป็นไปได้ หนึ่งในอาการปวดหัวที่ใหญ่ที่สุด ว่าคุณจะต้องมีสวิฟท์คือการหา โค้ดตัวอย่างที่เก่าแม้เพียง โดยไม่กี่เดือนพยายามที่จะใช้ ในโครงการที่ทันสมัย​​มากขึ้นของคุณ และมันก็ก็ไม่ทำงาน คุณจะได้รับข้อผิดพลาดเรียบเรียงไวยากรณ์ ข้อผิดพลาดทุกประเภทของสิ่งที่บ้า ดังนั้นเพียงแค่เป็นผู้ป่วยที่มี นั้นและคุณหวังว่าจะ ได้รับประสบการณ์ที่ดีงาม โดยรวมกับสวิฟท์ ตอนนี้คุณสามารถจริง join-- และฉันหวังว่า เรายังคงมีความจริงนี้ year-- นี้ CS 50 ของแอปเปิ้ลแอพพลิเค ทีมพัฒนาซึ่ง จะช่วยให้คุณสามารถติดตั้งแอพพลิเคใด ๆ ที่คุณสร้างขึ้นบนอุปกรณ์ iOS ของคุณ ดังนั้นลองมาดูที่ URL นี้ถ้า คุณกำลังสนใจในการทำที่ ดังนั้นเพียงแค่คู่ของ สิ่งที่เกี่ยวกับสวิฟท์เอง มันเป็นภาษาที่รวบรวม แต่คุณจะเห็นว่าบาง ของคุณสมบัติที่เราใช้ อนุญาตให้นำมาใช้ยังอยู่ในบิต เช่นวิธีการตีความเช่นกัน จำนวนมากของไวยากรณ์ยืม จากซีก็ขึ้นอยู่และเขียนใน C. และเพื่อให้เราจะเห็นว่า มีจำนวนมากของคบ จากความรู้ที่มีอยู่ จากซีที่เราสามารถที่จะสวิฟท์พอร์ต แต่มีสิ่งที่ ทำให้มันแตกต่างจากซี มันถูกพิมพ์อย่างมาก มีหน่วยความจำอัตโนมัติการจัดการเป็น คุณไม่ได้จะต้อง ใช้ malloc หรือฟรีทุกที่ มันออกแบบมาสำหรับทั่วไป ดังนั้นในคำอื่น ๆ ที่คุณสามารถใช้มันใน ทุกประเภทของความสำเร็จจากแอปเปิ้ลดู กับ iPhone ทุกทางขึ้นไปยัง OS X และ แม้บางเซิร์ฟเวอร์แม้สคริปต์ แต่เราจะเห็นว่า การสนับสนุนสำหรับการเขียนสคริปต์ เป็นไม่มากยังเป็น มันมีอยู่ในภาษาอื่น ๆ ดังนั้นส่วนใหญ่มีแนวโน้มที่คุณจะใช้ นี้โดยเฉพาะสำหรับการพัฒนา บน Mac หรือ iPhone ของคุณ และก็จะมีจำนวนมากของคุณสมบัติที่ทันสมัย และจำนวนมากของสิ่งเหล่านี้เป็นสิ่งที่ เราจะพยายามที่จะอยู่ในวันนี้ แต่ยังมีหัวข้อของเราที่ตรงไปตรงมา เราสามารถอุทิศทั้งหลักสูตร ในความเป็นจริงงาน 51 ซึ่งเป็น ภาคการศึกษาที่นำเสนอต่อไป มุ่งเน้นมากในหัวข้อเหล่านี้ ที่อธิบายไว้ด้านล่าง เพื่อให้คุณสามารถใช้จ่ายภาคการศึกษาทั้งหมด การทำความเข้าใจสิ่งเหล่านี้ แต่เราจะพยายาม ที่จะได้รับผ่านพวกเขา อย่างน้อยพอที่คุณ สามารถเข้าใจสิ่งที่เป็น ที่เกิดขึ้นเมื่อคุณมอง ในโปรแกรมสวิฟท์ และสามารถที่จะตัดทางของคุณ ผ่านโครงการสุดท้าย หนึ่งในวิธีที่ดีที่สุดที่คุณสามารถ ได้รับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ ตรงไปตรงมาเป็นเพียงแค่ผ่านแอปเปิ้ล ให้เอกสารสำหรับสวิฟท์ มีจำนวนมากของ API ครับ ที่มีอยู่ และนี่คือฐานบ้านที่ดีสำหรับคุณ ที่จะมองหาสิ่งที่เฉพาะเจาะจงที่คุณ ต้องการที่จะทำอย่างไรกับ API ที่เกี่ยวข้องกับ iOS ถ้าคุณต้องการที่จะใช้กล้องสำหรับ ตัวอย่างเช่นคุณสามารถเริ่มมองหาที่นี่ และยังใช้ Google และกอง มากเกินที่คุณจะได้ตามปกติ คำถามใด ๆ เกี่ยวกับเรื่องนี้ ก่อนที่เราจะกระโดดมีอะไรบ้าง? ทั้งหมดขวา ขอย้าย ดังนั้นก่อนที่ฉันมี จำนวนไฟล์ตัวอย่าง และฉันจะพยายามที่จะก้าว ผ่านพวกเขาอย่างรวดเร็ว นี้เป็นไฟล์สวัสดีโลกสำหรับสวิฟท์ มันง่ายมาก มีความคิดเห็นทางมากขึ้น กว่าที่มีรหัสที่เกิดขึ้นจริง ขอให้สังเกตรหัสที่เกิดขึ้นจริงที่ ด้านล่างสุดในบรรทัดที่ 14 มันบอกว่าพิมพ์ และจากนั้นก็โทรฟังก์ชั่น เรากำลังผ่านเป็นมัน สตริงที่เรียกว่าสวัสดี CS50 ขอให้สังเกตว่าไม่มีอัฒภาค ขอให้สังเกตว่าไม่มี int หลัก ไม่มีผู้ใดเป็นของ cruft ที่เรามีกับซี เมื่อเราใช้สวิฟท์ในลักษณะนี้ ซึ่งเขียนเพียงในแฟ้มข้อความ และเก็บไว้ในคอมพิวเตอร์ของฉันแล้ว ฉันสามารถรวบรวมและเรียกใช้ ขอให้สังเกตว่าที่นี่ฉัน ไม่ได้ใช้ CS50 IDE นี้อนุมานว่าผม การทำงานและการที่ฉันบน OS X, และที่ฉันได้ Xcode ติดตั้งแล้ว บนเครื่องนี้ในการสั่งซื้อสำหรับ การทำงานจริง แต่นี่เป็นเพียงแฟ้มข้อความปกติ ว่าแล้วเราก็สามารถรวบรวมและแก้ไข ดังนั้นเรามาดูวิธีการใช้งานได้จริง หากฉันต้องการที่จะรวบรวมมันได้หรือไม่ swiftc 1.swift หลังจากครู่หนึ่งหรือสองก็ จะเห็นว่าเรามีตอนนี้ รวบรวมนี้ลงในไฟล์ที่เรียกว่า 1 และตอนนี้เราได้พิมพ์ CS50 ของเรา โปรแกรมของเราค่อนข้างสวัสดีโลก ขอให้สังเกตสิ่งอื่น ๆ ที่หนึ่ง ดีว่าโดยปกติ เราไม่ได้มีที่จะใส่ บาร์ / n พิมพ์บรรทัดใหม่ โดยค่าเริ่มต้นฟังก์ชั่นการพิมพ์ใน สวิฟท์จะพิมพ์บรรทัดใหม่สำหรับคุณ คุณสามารถส่งผ่านตัวเลือกเพิ่มเติม พารามิเตอร์ที่จะบอกว่ามันไม่ได้ที่จะทำเช่นนั้น แต่ Google สำหรับข้อมูลเพิ่มเติมเกี่ยวกับที่ โดยค่าเริ่มต้นจะทำเส้นพิมพ์ สิทธิทั้งหมดจึงขอย้าย แล้วบางสิ่งอื่น ๆ ดังนั้นวิธีที่เราสามารถกำหนดตัวแปรจริง? เราสามารถทำที่ใช้ หนึ่งในสองวิธี และคนที่ฉันต้องการจะบอกคุณ เกี่ยวกับความหมายแรกคือปล่อยให้เรื่องนี้ และนี่เป็นสิ่งที่สำคัญ เพราะได้อย่างมีประสิทธิภาพ สิ่งที่เรากำลังทำคือการกำหนดอย่างต่อเนื่อง พวกเราจะไปสร้างตัวแปร หรือมากกว่าชื่อที่เรียกว่าค่าคงที่ ให้ไป data-- บางอย่างใน กรณีนี้สตริงแดน แต่ด้วยการใช้ปล่อยให้เรื่องนี้ คำหลักที่เรากำลังพูด ที่ variable-- นี้หรือ อีกครั้ง constant-- เรียกว่า ชื่อที่ไม่เคยไปจะมีการเปลี่ยนแปลง มันเป็นไปได้ที่ไม่เปลี่ยนรูปตลอด ระยะเวลาของโปรแกรมนี้ หรือตลอด ระยะเวลาของบริบท ตัวแปรที่มีอยู่ นี่คือสิ่งที่สำคัญจริงๆว่าเมื่อ คุณมีข้อมูลบางอย่างที่ไม่ได้เป็น จะเปลี่ยนในโปรแกรมของคุณ และคุณจะเห็นความหลากหลายของตัวอย่าง เกี่ยวกับเมื่อเราต้องการใช้ ให้กับไวยากรณ์อื่น ๆ มันเป็นสิ่งสำคัญที่คุณใช้ให้ เป็นไปได้เพราะแจ้งนี้ ภาษาที่มันเป็น ไม่ได้ไปจะมีการเปลี่ยนแปลง และเป็นจริงสามารถดำเนินการ จำนวนมากของการเพิ่มประสิทธิภาพ เพื่อปรับปรุงความเร็วและ ความปลอดภัยของโปรแกรม และโดยความปลอดภัยผมหมายถึงไม่ปล่อยให้ ความผิดพลาดมันมีข้อผิดพลาดบ้า ที่เราอาจจะ คุ้นเคยกับการเห็นใน C. แล้วเราสามารถใช้แก้ไขสตริง เพื่อแค็ปซูลนี้ภายในสตริง ดังนั้นเราจะเห็นในเรื่องนี้ เส้นพิมพ์พิมพ์สวัสดี แล้วใช้ parens เปิดทับขวา, แล้วชื่อของตัวแปรของฉัน ในกรณีนี้อย่างต่อเนื่อง ปิดวงเล็บ ฉันเป็นหลักแล้ววาง เนื้อหาที่มีชื่อเรียกว่าตัวแปรนี้ ภายในของสตริงแล้ว พิมพ์ผลที่มี ไม่มีการเปลี่ยนแปลงอีกคนหนึ่งที่จะไฟล์นี้ ซึ่งเป็นที่ฉันมีที่ด้านบนมาก ใส่ในบรรทัด shebang ซึ่ง พื้นเพียงระบุ ที่ฉันต้องการที่จะใช้ ล่ามสวิฟท์ซึ่ง หมายความว่าผมไม่จำเป็นต้อง รวบรวมโปรแกรมนี้โดยเฉพาะอย่างยิ่ง ฉันเพียงแค่สามารถเรียกใช้มันเหมือนสคริปต์ของตัวเอง แต่นี้คือในกรณีนี้ที่อยู่เบื้องหลัง ฉากที่ถูกรวบรวมแล้ว การทำงานเป็น มันเป็นเพียงแค่มองไม่เห็นเรา สิทธิทั้งหมดจึงขอย้าย เพื่อให้มีบิตของการใช้กลอุบาย ที่เกิดขึ้นก่อน ฉันพบว่าฉัน สามารถกำหนดค่าคงที่ และผมจะให้ข้อมูลบางอย่างที่จะทำมัน แต่ในกรณีนี้สังเกตเห็นว่าฉันไม่ได้ จริงระบุชนิดของข้อมูล ว่ามันเป็น และนั่นเป็นเพราะ คอมไพเลอร์สวิฟท์สามารถ สรุปชนิดของข้อมูลที่ใช้เพียง กับข้อมูลที่ผมใส่ลงในนั้น เพราะมันรู้ว่าโดยการประเมินนี้ ตัวแปรขวาที่นี่ในข้อมูลนี้ ที่นี่ก็รู้ว่ามันเป็นสตริง และเพื่อให้ชื่อนี้คงที่ดังนั้นจึงเป็นเรื่อง จะเป็นสตริงเช่นกัน แต่เรายังสามารถเป็นที่ชัดเจน เกี่ยวกับประเภทที่เป็น เราจะไปที่จะใช้สำหรับ ค่าคงที่หรือตัวแปร โดยใช้รูปแบบนี้ instead-- ให้ String ลำไส้ใหญ่ชื่อเท่ากับ แดนซึ่งในกรณีนี้หมายถึงเรา จะกำหนดชื่อเรียกอย่างต่อเนื่อง มันจะเป็นชนิดสตริง และความคุ้มค่าเป็นไปได้แดน ตอนนี้วิธีการอื่น ๆ ที่ เราสามารถสร้าง variables-- และเหล่านี้เป็นตัวแปรที่ไม่แน่นอนซึ่ง หมายความว่าเราอยู่ในความเป็นจริงที่เกิดขึ้น การเปลี่ยนแปลงเนื้อหาของพวกเขาบางครั้ง ในช่วงระยะเวลาของบริบท ตัวแปรที่ defined-- เรา ใช้คำหลัก var แทนให้ แต่อีกครั้งโดยค่าเริ่มต้นถ้าคุณรู้ว่า ที่คุณต้องจัดการกับข้อมูลที่ พยายามที่จะใช้สำหรับให้ ปรับปรุงประสิทธิภาพการทำงาน ในกรณีนี้ผมสามารถแล้ว ระบุชนิดของข้อมูล ที่เราคาดว่าจะเป็นภายในของ ตัวแปรใหม่นี้เรียกว่าฉลาก มันจะเป็นสตริง และเรากำลังจะไปแล้ว concatenate สองสายด้วยกันสวัสดีสตริง และสตริงตัวแทนจาก ตัวแปรหรือค่อนข้างคงที่ชื่อ ดังนั้นนี่เป็นสิ่งที่ดีเพราะ จะค่อนข้าง PHP เหมือนเราว่า มีสตริงที่ง่ายมาก เราไม่ได้มีให้โดยอัตโนมัติ ใช้ประเภทของการจัดการหน่วยความจำใด ๆ เพื่อเพิ่มขนาดและทำ การเรียงลำดับของสิ่งที่ตลกมีผู้ใด นี้ทำงานในขณะที่เราคาดว่าจะได้จริง สิทธิทั้งหมดคำถามใด ๆ เกี่ยวกับเรื่องนี้? ตอนนี้เหตุผลอื่น ๆ ที่ เราต้องการให้คุณมีความสามารถใน เพื่อให้สามารถกำหนดสิ่งที่ ประเภทของตัวแปรข้อมูล เป็นเพราะบางครั้งเราทำไม่ได้ ต้องการที่จะเริ่มต้นตัวแปร มีข้อมูลบางอย่างที่ จุดของความหมาย ดังนั้นในกรณีนี้สมมติว่า ที่ฉันต้องการที่จะเริ่มต้นป้อน เกรดบางอย่างในหนังสือเกรด ดีฉันรู้ว่าหนึ่งใน ตัวแปรที่ฉันต้องการที่จะ เป็นไปได้เกรดไม่แน่นอน และเรายังรู้ว่าเรา ต้องการให้เป็นจำนวนเต็ม แต่บางทีเราทำยังไม่ได้ มีชั้นประถมศึกษาปีที่สามารถใช้ได้ที่ ในสวิฟท์ที่คุณต้อง กำหนดประเภทของข้อมูล ที่มีความเกี่ยวข้องกับ ตัวแปรหรือให้คงที่ ก่อนที่คุณจะสามารถจริง ตัวแปรที่ใช้ เพราะมันเป็นพิมพ์มั่น คุณจะต้องเชื่อมโยงประเภท กับตัวแปรเหล่านี้ ดังนั้นในกรณีนี้ถ้าผมไม่ถูกต้อง เริ่มต้นครั้งแรกที่มีค่าบางอย่าง แล้วผมต้องบอกว่าสิ่งที่สวิฟท์ ผมคาดว่าชนิดของข้อมูลที่จะเป็น และก็จะยังคงอยู่ ประเภทข้อมูลเดียวกัน ตลอดประวัติศาสตร์ของโปรแกรมนี้ ตอนนี้คุณอาจถูกล่อลวงโดยเร็ว ผมได้สร้างตัวแปรเกรดนี้ และให้มัน จำนวนเต็ม 100 ตอนนี้ถ้าฉัน ต้องการที่จะพยายามที่จะเชื่อม สตริงที่มีจำนวนเต็มว่า อาจถูกล่อลวงไปยังคงใช้ ว่าผู้ประกอบสตริง เหมือนที่เราทำเพียงไม่กี่บรรทัดก่อน แต่น่าเสียดายที่ นี้จะจริงไม่ได้ ทำงานเพราะคุณเป็น เป็นหลักปฏิบัติ การดำเนินการในสองประเภทที่แตกต่างกัน ตอนนี้เป็นความแตกต่างจากคนอื่น ๆ ภาษาเช่น PHP ที่เป็นจริง Goosey loosey กับประเภทของชนิดของพวกเขา พวกเขากำลังเช่นเดียวใช่ สิ่งที่ฉันไม่สนใจ เพียงแค่ให้ฉันหนึ่งชนิด บางทีฉันอาจจะทำสิ่งที่ถูก ในกรณีนี้สวิฟท์เป็น ที่เข้มงวดมากเกี่ยวกับชนิด ที่คุณจะจัดการกับ ผู้ประกอบการบวกนี้ หรือผู้ประกอบการเรียงต่อกัน มีหลักคู่ของ ตัวเลือกที่เป็นไปได้ที่แตกต่างกัน คุณสามารถทำได้บวก กับจำนวนเต็มหรือคุณ สามารถทำสตริงและ บางทีอาจจะเป็นบางสิ่งบางอย่างอื่น ๆ เช่นกัน แต่ถ้าผู้ประกอบการที่ไม่รู้จัก สิ่งที่อยู่บนด้านข้างของมันทั้งสอง หรือมากกว่าการรวมกันของเหล่านั้น ทั้งสองประเภทไม่ได้เป็นสิ่งที่มันคาดหวัง แล้วมันจะก่อให้เกิดความล้มเหลว ดังนั้นในกรณีนี้มันหมายความว่าอะไร ที่จะมีสตริงบวกจำนวนเต็มหรือไม่? ดีในบริบทของ นี้เราอาจต้องการ สำหรับการดำเนินการ concatenation สตริง แต่แน่นอนคอมพิวเตอร์ ไม่ได้มีการจัดเรียงของบริบทที่ และเพื่อให้เราจำเป็นต้องให้ ข้อมูลเพิ่มเติมที่ จะปล่อยให้มันรู้ว่ามัน คือการที่เราต้องการที่จะทำ ดังนั้นในคำอื่น ๆ ที่ความเป็นจริง สวิฟท์ที่มีการพิมพ์มั่น หมายความว่าคุณต้องทำ เล็กน้อยในการทำงานเพิ่มเติม ที่จะได้ไปทำงาน วิธีการที่คุณต้องการ แต่ผลที่ตามมาก็จะปลอดภัยกว่า และเมื่อคุณมีการใช้ เข้าบัญชีประเภทเหล่านั้น เพียงแค่เริ่มต้นสิ่งที่ตรงไปตรงมา ที่จะทำงานสวยดี ดังนั้นในกรณีนี้เราก็จะ ดำเนินการสตริง โดยหล่ออย่างชัดเจน จำนวนเต็มสตริง โดยการตัดมันในครั้งนี้ ฟังก์ชั่น S ทุนสตริง แล้วใช้ concatenation สตริง ผู้ประกอบการที่จะปรับเปลี่ยนตัวแปรฉลากของเรา แล้วพิมพ์ออกมา เพื่อให้ห่างไกลที่ดีเพื่อ? สิทธิทั้งหมดขอย้าย ขณะนี้มีความหลากหลายของข้อมูล ชนิดที่เราสามารถใช้ในสวิฟท์ ในขณะที่คุณได้กลายเป็นที่คุ้นเคยกับการ เราสามารถสร้างอาร์เรย์ที่ไม่แน่นอน และอาเรย์ที่สามารถ มีชนิดเดียว ดังนั้นในกรณีนี้เรากำลังจะสร้าง อาร์เรย์ไม่แน่นอนของจำนวนเต็มซึ่ง เราจะเรียกเกรดและเราจะสามารถ ในการจัดเก็บที่อยู่ในวงเล็บเหลี่ยมนี้ รูปแบบที่คุณได้เติบโตคุ้นเคย ในความหลากหลายของภาษาอื่น ๆ แต่สังเกตเห็นว่าที่นี่เรา กำหนดสองสิ่ง เกรดเป็น variable-- ไม่แน่นอน เราไม่ใช้คำหลักให้ ดังนั้นนั่นหมายความว่าเราสามารถปรับเปลี่ยนแล้ว เนื้อหาของอาร์เรย์นี้ มันเป็นประเภท Int อาร์เรย์ และเราสามารถบอกได้ว่า ขึ้นอยู่กับวงเล็บเหล่านี้ที่นี่ ตอนนี้หนึ่งในสิ่งที่ดี เกี่ยวกับเรื่องนี้คือการที่เรา มีการเข้าถึงมาก ข้อมูลเพิ่มเติม เกี่ยวกับอาร์เรย์เพียงแค่ใช้ บางเครื่องหมายจุดที่เรียบง่าย ดังนั้นตัวอย่างเช่น grades.count ให้กับเรา จำนวนรายการที่มีอยู่ในที่ อาร์เรย์ซึ่งเราก็จะสามารถเข้าถึงสวย ได้อย่างง่ายดายเพียงแค่ใช้เครื่องหมายจุดที่ ถ้าคุณต้องการที่จะเพิ่มเพิ่มเติม รายการที่จะอาร์เรย์นี้ คุณไม่สามารถทำรูปแบบของ PHP ที่คุณก็ชัดเจนกำหนด ที่ดัชนีที่กำหนดค่าบางอย่าง ที่คุณต้องการแทรก แต่ให้ใช้ผนวก วิธีการในรูปแบบอาร์เรย์ ผนวกรายการที่ 95 ในรายการนี​​้ ดังนั้นตอนนี้อาร์เรย์นี้มีดังต่อไปนี้ contents-- 100, 0, 90, 85 และตอนนี้เราได้ผนวก 95 ที่ดี มีวิธีการอื่น ๆ เราสามารถผนวกสิ่ง คุณสามารถใช้จริง ผู้ประกอบการบวก ซึ่งจะถูกตีความว่าเป็น การดำเนินการอาร์เรย์ผนวก และจากนั้นคุณสามารถผนวกอีก อาร์เรย์ที่มีเนื้อหาเป็น 70 และ 80, ไปยังอาร์เรย์ที่ ดังนั้นตอนนี้เรามี เนื้อหาในตัวแปรนี้ grades-- 100, 0, 90, 85, 95, 70, และ 80 นี่เป็นเพียงประโยคเล็ก ๆ น้อย ๆ ที่ดี น้ำตาลที่สวิฟท์ให้กับเรา ดังนั้นถ้าเราต้องการที่จะรวม เกรดเราอาจจะ จะต้องการที่จะย้ำ มากกว่าทุกรายการในวงนี้ และเราไม่ได้มีในสวิฟท์, ความคิด ของสำหรับวงที่คุณคาดหวัง แต่วิธีการที่เราแสดง ช่วงแตกต่างกันเล็กน้อย ดังนั้นในกรณีนี้เพื่อ รวมทุกอย่างที่เราจะ จะสร้างชั่วคราว ผลรวมเรียกว่าตัวแปรเพื่อให้เรา ในการรักษานับนี้ และแจ้งให้ทราบสำหรับเรา ห่วงการก่อสร้างที่นี่ สำหรับดัชนีใน 0 ..