[संगीत बजाना] दान AMRMENDARIZ: हर कोई, CS50 संगोष्ठी में स्वागत करते हैं, स्विफ्ट के साथ iOS एप्लिकेशन विकास। मैं दान Armendariz हूँ, और मैं एक गुरु हूँ यहां हार्वर्ड में कंप्यूटर विज्ञान की। और अगले एक घंटे के लिए किया जा रहा है के रूप में ज्यादा सामान का एक बवंडर दौरे इस विषय के बारे में हम फिट कर सकते हैं के रूप में। मैं स्रोत कोड के सभी पोस्ट करेंगे आप ऑनलाइन आज देखेंगे। हम करने में सक्षम नहीं हो सकता है वास्तव में सब कुछ खत्म हो जाना मैं मैं कर रहा हूँ कि हूँ कि इस घड़ी में आप दिखा। लेकिन कम से कम उम्मीद है कि के माध्यम से स्रोत कोड की टिप्पणी, आप यह पता लगाने की कोशिश करने में सक्षम हो जाएगा क्या वास्तव में उन चीजों के लिए क्या हो रहा है हम काफी नहीं मिलता है। कुल मिलाकर, संरचना इस प्रकार के रूप में आज की बात हो जाएगी। हम कुछ बुनियादी कर बाहर शुरू करेंगे स्विफ्ट भाषा के साथ वाक्य रचना, अधिक उन्नत में से कुछ में जा रहा है स्विफ्ट भाषा की वाक्य रचना। भाषा की वजह से वास्तव में आधुनिक और यह है उच्च स्तर का एक बहुत है सुविधाओं, हम नहीं है कि चीजों को , CS50 भर सी में देखा या यहां तक ​​कि कुछ अन्य भाषाओं हम शुरू कर दिया है कि जैसे पीएचपी CS50 में उपयोग करते हुए, इसलिए मैं करने की कोशिश करने के लिए जा रहा हूँ यह भी कुछ विषयों को पेश कि उच्च स्तर की भाषाओं से संबंधित हैं आप CS50 में गहराई में नहीं देख सकते हैं कि, लेकिन आप बाद में देखेंगे कंप्यूटर विज्ञान की कक्षाओं। तो यह एक होने जा रहा है कसकर घंटे पैक। और मुझे जाने के लिए स्वतंत्र महसूस कृपया आप किसी भी सवाल है, अगर पता है। आप रुचि रखते हैं तो अगर विकास करने में स्विफ्ट के साथ, या वास्तव में किसी भी आईओएस अनुप्रयोग विकास, आवश्यकताओं के एक जोड़े हैं। सबसे पहले, आप का उपयोग कर सकता है एक मैक, उदाहरण में चल रहा है हम आज का उपयोग करने जा रहे हैं कि, ओएस के एक अपेक्षाकृत नया संस्करण इस मामले में एक्स, मैं एक्स 10.5 चल रहा हूँ। आप चाहते हैं तो आप 10.11 चल रहा जा सकता है। लेकिन सब कुछ आप करने जा रहे हैं कि बाद में Xcode 7 और को शामिल किया जाता है देखते हैं, जो नवीनतम संस्करण है स्विफ्ट 2.0 है जो स्विफ्ट, के। यह वास्तव में एक बहुत है महत्वपूर्ण अंतर। वाक्य रचना का एक बहुत है सुंदर काफी बदल गया स्विफ्ट 1.0 से कुछ मामलों में, पिछले साल जारी किया गया था, जो स्विफ्ट 2.0, जो सिर्फ इस गिरावट से बाहर आ गया। इसलिए हम स्विफ्ट 2.0 दिखाने के लिए जा रहे हैं। चीजों की एक बहुत है कि आप ऑनलाइन के लिए खोज आप अतिरिक्त पाने के लिए कोशिश कर रहे हैं चीजों की एक किस्म के बारे में जानकारी, आप स्पष्ट रूप से करने के लिए चाहते हो सकता है स्विफ्ट 2 के लिए खोज बल्कि सिर्फ सादे पुराने स्विफ्ट से बनाने के लिए आप वाक्य रचना सही मिलता है कि सुनिश्चित करें। वास्तव में, यह आमतौर पर यह सच है। विकास की एक तेजी से राशि नहीं है स्विफ्ट भाषा में हो रहा एप्पल इसे जारी किया, जब से मुझे लगता है कि क्या है, यह एक वर्ष से अधिक छोटे हो गया है अब। और चीजें बदल गई नाटकीय रूप से उस समय में। और तो निराश मत हो यदि आप के आसपास देख रहे हैं जब कैसे पूरा करने के लिए स्विफ्ट या विषयों के लिए कुछ उदाहरण कोड का उपयोग कर कुछ या कुछ और यह नहीं है कि वास्तव में स्विफ्ट 2.0 पर काम करते हैं। सुनिश्चित करें कि आप देख रहे हैं बनाओ विशेष रूप से उस संस्करण के लिए अलग के प्रभाव को कम करने की कोशिश करने के लिए संस्करणों और चीजों के उन प्रकार की। मैं बस कुछ चीजें बाहर बात करने की कोशिश करेंगे पुराने संस्करणों को अलग कर रहे हैं। लेकिन इसके लिए बाहर देखने के लिए कुछ है। यही कारण है कि शायद होने जा रहा है सबसे बड़ा सिरदर्द में से एक आप स्विफ्ट के साथ होगा लग रहा है कि , अभी भी बड़ी है कि उदाहरण के कोड कुछ महीनों से उपयोग करने के लिए कोशिश कर रहा है यह आपके और अधिक आधुनिक परियोजना में। और यह सिर्फ और सिर्फ काम नहीं करता है। आप संकलक त्रुटियों को हो रही है, वाक्य रचना त्रुटियों, पागल सामान की सभी प्रकार की। तो बस के साथ रोगी हो कि, और आप उम्मीद करेंगे एक बहुत अच्छा अनुभव है स्विफ्ट समग्र साथ। अब आप join-- वास्तव में कर सकते हैं और मुझे आशा है कि हम वास्तव में अभी भी इस इस year-- है सीएस 50 एप्पल एप्लिकेशन विकास टीम है, जो आप किसी भी क्षुधा स्थापित करने की अनुमति देगा जो आप अपने iOS उपकरणों पर पैदा करते हैं। तो इस URL यदि पर एक नज़र रखना आपको लगता है कि करने में रुचि रखते हैं। की तो सिर्फ एक जोड़ी स्विफ्ट के बारे में ही बातें। यह एक संकलित भाषा है। लेकिन आपको लगता है कि कुछ देखेंगे कि हम इस्तेमाल सुविधाओं की यह एक बिट में भी इस्तेमाल करने की अनुमति एक तरीके के रूप में अच्छी तरह से व्याख्या की तरह। वाक्य रचना का एक बहुत उधार लिया है सी से यह आधारित है और सी में लिखा और इसलिए हम देखेंगे कि takeaways में से एक बहुत हैं अपने मौजूदा ज्ञान से सी से हम स्विफ्ट को बंदरगाह कर सकते हैं। लेकिन चीजें देखते हैं कि सी से यह बहुत अलग कर यह बहुत ही मजबूती से लिखा गया है। स्वत: स्मृति प्रबंधन नहीं है। आप करने के लिए नहीं जा रहे हैं malloc या मुफ्त में कहीं भी इस्तेमाल करते हैं। यह व्यापकता के लिए तैयार है। तो दूसरे शब्दों में, आप इसे उपयोग कर सकते हैं एप्पल घड़ी से संदर्भों के सभी प्रकार, iPhone करने के लिए सभी तरह से ओएस एक्स, और अप करने के लिए यहां तक ​​कि कुछ सर्वर, यहां तक ​​कि कुछ पटकथा। लेकिन हम देखेंगे कि पटकथा के लिए समर्थन नहीं काफी वहाँ अभी तक के रूप में है इसे अन्य भाषाओं में है। तो सबसे अधिक संभावना है आप का उपयोग होगा यह विशेष रूप से विकास के लिए अपने मैक या अपने iPhone पर। और यह आधुनिक सुविधाओं की एक बहुत कुछ है। और इन चीजों की एक बहुत सामान हैं कि हम आज पता करने की कोशिश करने के लिए जा रहे हैं लेकिन यह भी हमारे विषयों स्पष्ट है कि, हम पूरे पाठ्यक्रम को समर्पित कर सकते हैं। है, जो वास्तव में, सीएस 51, की पेशकश की अगले सेमेस्टर, इन विषयों पर बहुत कुछ केंद्रित कि नीचे वर्णित हैं। तो आप एक पूरे सेमेस्टर खर्च कर सकते हैं इन बातों को समझने के लिए। लेकिन हम कोशिश करने के लिए जा रहे हैं उन के माध्यम से प्राप्त करने के लिए कम से कम इतना तो आप उस क्या समझ सकते हैं जब तुम देखो पर जा रहा एक स्विफ्ट कार्यक्रम में और अपने रास्ते को हैक करने में सक्षम हो अंतिम परियोजना के लिए यह माध्यम से। बेहतरीन तरीके से एक अब है कि आप कर सकते हैं इस पर अतिरिक्त जानकारी प्राप्त सिर्फ एप्पल के माध्यम से स्पष्ट है स्विफ्ट के लिए दस्तावेज उपलब्ध कराए। एपीआई का एक बहुत कुछ है कि उपलब्ध हैं। और यह आप के लिए एक अच्छा घर का आधार है विशिष्ट बातों के लिए देखने के लिए कि आप आईओएस से जुड़े एक एपीआई के साथ करना चाहते हैं। आप के लिए कैमरे का उपयोग करना चाहते हैं उदाहरण के लिए, आप यहाँ देख शुरू कर सकते और भी गूगल और ढेर का उपयोग आप सामान्य रूप से होता ही बाढ़ की। इस पर कोई प्रश्न हम सही में कूद से पहले? ठीक है। पर चलते हैं। पहले तो, मैं एक उदाहरण फ़ाइलों की संख्या। और मैं कदम की कोशिश करने के लिए जा रहा हूँ अपेक्षाकृत जल्दी से उन के माध्यम से। यह स्विफ्ट के लिए नमस्ते विश्व फाइल है। यह बहुत आसान है। जिस तरह से अधिक टिप्पणी नहीं है वास्तविक कोड वहाँ से कर रहे हैं। वास्तविक कोड पर है नोटिस लाइन 14 पर बहुत नीचे। यह प्रिंट कहते हैं। और फिर यह एक समारोह फोन है। हम इसे एक में गुजर रहे हैं स्ट्रिंग हैलो CS50 बुलाया। कोई अर्धविराम है कि वहाँ पर ध्यान दें। कोई int मुख्य है कि वहाँ पर ध्यान दें। में से कोई भी नहीं है हम सी के साथ की थी कि cruft हम इस तरह से स्विफ्ट का उपयोग कर रहे हैं, सिर्फ एक पाठ फ़ाइल में लिखा है जो और फिर, मेरे कंप्यूटर पर संग्रहीत मैं यह संकलन और इसे चलाने के लिए कर सकते हैं। मैं कर रहा हूँ कि यहाँ पर ध्यान दें CS50 आईडीई का उपयोग नहीं। यह मैं हूं मानता है कि चल रहा है और मैं ओएस एक्स पर हूँ कि, और मैं Xcode के पहले से ही स्थापित किया है कि इस के लिए आदेश में इस मशीन पर वास्तव में कार्य करने के लिए। लेकिन यह सिर्फ एक सामान्य पाठ फ़ाइल है कि हम तो संकलन और संपादित कर सकते हैं। तो चलो यह वास्तव में कैसे काम करता है देखते हैं। क्या मैं यह संकलन करना चाहते हैं? swiftc 1.swift। एक या दो पल के बाद, यह अब हम देखेंगे कि 1 नामक एक फाइल में इस संकलित। और अब हम हमारे CS50 छपा है, बल्कि हमारे नमस्ते विश्व आवेदन। के रूप में एक अन्य बात पर ध्यान दें वैसे, यह डिफ़ॉल्ट रूप से है हम निवेश के लिए नहीं था / n एक एक नई लाइन मुद्रित करने के लिए। डिफ़ॉल्ट, प्रिंट समारोह में रखकर स्विफ्ट आप के लिए एक नई लाइन प्रिंट होगा। आप एक वैकल्पिक अतिरिक्त पारित कर सकते हैं पैरामीटर ऐसा करने के लिए नहीं है, यह बताने के लिए। लेकिन उस पर और अधिक जानकारी के लिए गूगल। डिफ़ॉल्ट रूप से, यह प्रिंट लाइन से करना होगा। ठीक है, तो चलो पर चलते हैं फिर कुछ अन्य बातें करने के लिए। तो कैसे हम वास्तव में चर परिभाषित कर सकते हैं? हम जानते हैं कि उपयोग कर रहा है क्या कर सकते हैं दो तरीकों में से एक। और मैं चाहता हूँ कि एक तुम्हें बताने के लिए पहले इस बारे में लश्कर परिभाषा है। और यह महत्वपूर्ण है प्रभावी रूप से, क्योंकि हम क्या कर रहे हैं एक निरंतर परिभाषित है। हम एक चर बनाने जा रहे हैं, या यों कहें कि एक निरंतर बुलाया नाम, कुछ data-- में यह करने के लिए प्रदान करते हैं इस मामले में, स्ट्रिंग दान। लेकिन इस लश्कर का उपयोग करके कीवर्ड, हम कह रहे हैं इस variable-- कि या फिर से बुलाया constant-- नाम कभी नहीं बदला जा रहा है। यह भर अडिग होने जा रहा है इस कार्यक्रम की अवधि या भर में संदर्भ की अवधि कि उस चर उपलब्ध है। यह है कि जब वास्तव में महत्वपूर्ण है आप नहीं है कि कुछ डेटा है अपने कार्यक्रम में परिवर्तन करने के लिए जा रहा है, और आप उदाहरण की एक किस्म देखेंगे हम उपयोग करना चाहते हैं के बारे में अन्य वाक्य रचना बनाम करते हैं, तुम चलो का उपयोग करें कि यह महत्वपूर्ण है जहां भी संभव हो इस अधिसूचित क्योंकि यह है कि भाषा बदल नहीं किया जा रहा, और यह वास्तव में प्रदर्शन कर सकते हैं अनुकूलन का एक बहुत गति में सुधार करने के लिए और अपने कार्यक्रम की सुरक्षा के लिए। और सुरक्षा के द्वारा, मैं ऐसा नहीं मतलब पागल त्रुटियों के साथ यह दुर्घटना हम हो सकता है कि सी में देखने के आदी तो फिर हम स्ट्रिंग प्रक्षेप उपयोग कर सकते हैं एक स्ट्रिंग के भीतर इस encapsulate करने के लिए। इसलिए हम इस में देख सकते हैं प्रिंट लाइन, हैलो, प्रिंट और फिर बैकस्लैश खुले parens का उपयोग कर, और फिर मेरे चर का नाम, इस मामले निरंतर में, कोष्ठकों को बंद करें। मैं अनिवार्य रूप से तो डाल रहा हूँ इस चर बुलाया नाम की सामग्री स्ट्रिंग के अंदर और उसके बाद वहाँ परिणाम मुद्रण। इस फ़ाइल के लिए एक अन्य बदलाव नहीं हुआ है जो मैं बहुत शीर्ष पर है, वह यह है कि एक कुटिया लाइन में डाल दिया है, जो मूल रूप से बस को निर्दिष्ट मैं उपयोग करना चाहते हैं स्विफ्ट दुभाषिया, जो मैं अब और नहीं करने के लिए इसका मतलब है कि इस विशेष कार्यक्रम के संकलन। मैं सिर्फ अपनी ही स्क्रिप्ट की तरह चला सकते हैं। लेकिन इस के पीछे है, इस मामले में है परदे के संकलित और उसके बाद की जा रही चलाया जा रहा। यह सिर्फ हमारे लिए अदृश्य है। ठीक है, तो चलो पर चलते हैं। तो प्रवंचना का एक सा है कि बस से पहले हुआ। मैं आपको लगता है कि मैं पता चला एक निरंतर परिभाषित कर सकता है। और मैं यह करने के लिए कुछ डेटा प्रदान कर सके। लेकिन इस मामले में, मैं नहीं था कि नोटिस वास्तव में डेटा के प्रकार को निर्दिष्ट यही है वो। और कहा कि क्योंकि है संकलक, स्विफ्ट कर सकते हैं सिर्फ आधारित डेटा के प्रकार अनुमान मैं इसे में डाल दिया है कि डेटा पर। यह द्वारा इस मूल्यांकन के जानता है कि क्योंकि चर यहीं, इस डेटा का अधिकार यहाँ यह है कि यह एक स्ट्रिंग है कि जानता है। और इसलिए यह निरंतर नाम इसलिए है के रूप में अच्छी तरह से एक स्ट्रिंग होने जा रहा। लेकिन हम यह भी स्पष्ट किया जा सकता है है कि प्रकार के बारे में हम के लिए उपयोग करने के लिए जा रहे हैं स्थिरांक या चर इस वाक्य रचना का उपयोग करके instead-- नाम पेट के स्ट्रिंग के बराबर होती है चलो इस मामले में हम कर रहे हैं, जिसका अर्थ है दान, एक निरंतर बुलाया नाम को परिभाषित करने के लिए जा रहा है। यह स्ट्रिंग प्रकार का होने जा रहा है। और मूल्य दान होने जा रहा है। अब दूसरी तरह के हैं कि हम variables-- बना सकते हैं और इन परिवर्तनशील चर, जो कर रहे हैं हम कर रहे हैं कि वास्तव में जाने का मतलब कुछ देर के लिए अपनी सामग्री को बदलने के लिए संदर्भ की अवधि में चर कि हम defined-- है कि वर कीवर्ड का उपयोग करने के बजाय दो। लेकिन फिर, डिफ़ॉल्ट रूप से, जब तक कि आप जानते हैं आपको लगता है कि आंकड़ों में हेरफेर करने की जरूरत है कि, के लिए जाने के इस्तेमाल करने की कोशिश कार्य में सुधार। इस मामले में, मैं तो यह कर सकते हैं डेटा के प्रकार को निर्दिष्ट हम के अंदर होने की उम्मीद है कि लेबल नामक इस नई चर। यह एक स्ट्रिंग होने जा रहा है। और हम तो जुटना लिए जा रहे हैं दो तार एक साथ, स्ट्रिंग हैलो, और स्ट्रिंग द्वारा प्रतिनिधित्व चर, या बल्कि निरंतर नाम। तो यह इस वजह से अच्छा है कुछ हद तक है कि हम में की तरह PHP है बहुत आसान स्ट्रिंग संयोजन है। हम स्वचालित रूप से करने की जरूरत नहीं स्मृति प्रबंधन के किसी भी प्रकार का उपयोग आकार बढ़ाने के लिए और क्या करने के लिए वहाँ अजीब बातें की किसी भी तरह। हम वास्तव में उम्मीद करेंगे के रूप में यह काम करता है। ठीक है, इस पर कोई सवाल? अब अन्य कारण यह है कि हम आप की क्षमता है जरूरत क्या परिभाषित करने के लिए सक्षम होने के लिए डेटा चर के प्रकार हैं कभी-कभी हम नहीं करते क्योंकि है चर को प्रारंभ करना चाहते हैं पर कुछ डेटा के साथ परिभाषा के मुद्दे पर। इस मामले में तो हम कहते हैं, मैं inputting शुरू करना चाहता हूँ कि एक ग्रेड किताब में कुछ ग्रेड। वैसे मुझे पता है में से एक है कि मैं देखना चाहता हूँ कि चर एक परिवर्तनशील ग्रेड होने जा रहा है। और हम यह भी जानते हैं कि हम उस यह एक पूर्णांक होना चाहते हैं। लेकिन हो सकता है कि हम अभी तक नहीं करते कि ग्रेड उपलब्ध है। स्विफ्ट में, आप के लिए है डेटा के प्रकार को परिभाषित कि एक साथ जुड़ा हुआ है चर या एक निरंतर जाने आप वास्तव में कर सकते से पहले उस चर का उपयोग करें। यह जोरदार टाइप है, क्योंकि आप एक प्रकार संबद्ध करने के लिए है इन चर के साथ। मैं ठीक से नहीं किया है, तो इस मामले में तो कुछ मूल्य के साथ पहली initialized, फिर मैं स्विफ्ट बताने की जरूरत है क्या मैं डेटा प्रकार होने की उम्मीद है। और यह रहने के लिए जा रहा है कि एक ही डेटा प्रकार इस कार्यक्रम के इतिहास में। अब आप जैसे ही परीक्षा हो सकती है मैं इस ग्रेड चर बनाया है और यह एक प्रदान की मैं अब अगर 100 का पूर्णांक, जुटना करने की कोशिश करना चाहते हैं कि पूर्णांक के साथ एक स्ट्रिंग, अभी भी उपयोग करने के लिए परीक्षा हो सकती है कि स्ट्रिंग संयोजन ऑपरेटर जैसे हम सिर्फ कुछ लाइनों से पहले किया था। लेकिन दुर्भाग्य से, यह वास्तव में नहीं होगा आप कर रहे हैं, क्योंकि काम अनिवार्य रूप से प्रदर्शन कर दो अलग अलग प्रकार पर कोई कार्रवाई। अब इस दूसरे से बहुत अलग है वास्तव में जो कर रहे हैं पीएचपी जैसी भाषाओं प्रकार के अपने प्रकार के साथ loosey बेवक़ूफ़। वे बस, हाँ, पसंद कर रहे हैं जो भी हो, मुझे परवाह नहीं है। बस मुझे एक प्रकार दे, और शायद मैं सही काम कर देंगे। इस मामले में, स्विफ्ट है प्रकार के बारे में बेहद सख्त आप के साथ काम कर रहे हैं। यह योग ऑपरेटर या जोड़ना ऑपरेटर अनिवार्य रूप से एक जोड़ी है अलग संभव विकल्प। आप योग कर सकते हैं पूर्णांकों, या आप के साथ स्ट्रिंग संयोजन करते हैं, और कर सकते हैं शायद कुछ अन्य बातों के रूप में अच्छी तरह से। लेकिन यह है कि ऑपरेटर नहीं पहचानता है यह के दोनों तरफ क्या है, या उन के संयोजन बल्कि दो प्रकार, यह उम्मीद कर रहा है क्या नहीं है, तो यह एक विफलता का कारण बन रहा है। इस मामले में तो, इसका मतलब क्या है एक स्ट्रिंग प्लस एक पूर्णांक है? खैर के संदर्भ में यह है कि हम शायद चाहते हैं एक स्ट्रिंग संयोजन आपरेशन करने के लिए। लेकिन निश्चित रूप से कंप्यूटर प्रसंग का है कि तरह नहीं है। और इसलिए हम प्रदान करने की आवश्यकता अतिरिक्त जानकारी है कि यह है कि यह क्या यह बताने के लिए हम क्या करना चाहते है। दूसरे शब्दों में, इस तथ्य तो स्विफ्ट दृढ़ता से लिखा गया है कि आप एक क्या करना है इसका मतलब है अतिरिक्त काम का थोड़ा सा इसे संचालित करने के लिए प्राप्त करने के लिए आप चाहते हैं कि जिस तरह से। लेकिन एक परिणाम के रूप में, यह सुरक्षित है। और आपके पास एक बार लेने के लिए उन प्रकार के खाते में, बातें अभी स्पष्ट शुरू बहुत अच्छी तरह से काम करने के लिए। इस मामले में, हम तो होगा तो स्ट्रिंग संयोजन प्रदर्शन स्पष्ट रूप से कास्टिंग द्वारा एक स्ट्रिंग के लिए पूर्णांक इस में लपेटकर द्वारा राजधानी एस स्ट्रिंग समारोह, और फिर स्ट्रिंग संयोजन का उपयोग कर ऑपरेटर, हमारे लेबल चर को संशोधित करने के लिए और फिर इसे बाहर प्रिंट। अब तक सब ठीक है? ठीक है, पर चलते हैं। अब डेटा की एक किस्म है हम स्विफ्ट में उपयोग कर सकते हैं प्रकार के। आप के आदी हो गए हैं, हम एक परिवर्तनशील सरणी बना सकते हैं। और उस सरणी ही कर सकते हैं एक ही प्रकार के होते हैं। तो इस मामले में, हम बनाने के लिए जा रहे हैं पूर्णांकों की एक परिवर्तनशील सरणियों, जो हम ग्रेड फोन करेंगे, और हम सक्षम हो जाएगा इस वर्ग कोष्ठक में उस स्टोर करने के लिए आप के रूप में प्रारूप आदी हो गई है अन्य भाषाओं की एक किस्म में करने के लिए। लेकिन हम कर रहे हैं कि यहाँ नोटिस चीजों के एक जोड़े को परिभाषित। ग्रेड एक परिवर्तनशील variable-- है हम लश्कर कीवर्ड का उपयोग नहीं। इसका मतलब है कि इसलिए हम तो संशोधित कर सकते हैं इस सरणी की सामग्री। यह टाइप ऐरे इंट का है और हम बता सकते हैं कि यहां इन वर्ग कोष्ठक पर आधारित है। अच्छी बातें की अब एक इस बारे में है कि हम है का एक बहुत का उपयोग किया है अतिरिक्त जानकारी सरणी के बारे में बस का उपयोग कुछ सरल डॉट संकेतन। तो उदाहरण के लिए, grades.count हमें करने के लिए प्रदान करता है कि में मौजूद है कि मदों की संख्या हम तो बहुत उपयोग कर सकते हैं जो सरणी, आसानी से बस कि डॉट संकेतन का उपयोग। आप अतिरिक्त जोड़ना चाहते हैं इस सरणी के लिए आइटम, आप पीएचपी शैली नहीं कर सकते जहां आप सिर्फ स्पष्ट रूप से परिभाषित है, एक दिया सूचकांक पर, कुछ मूल्य आप सम्मिलित करना चाहते हैं। इसके बजाय, संलग्न उपयोग सरणी प्रकार में विधि इस सूची में, उस आइटम, 95 संलग्न करने के लिए। तो अब इस सरणी निम्नलिखित है 100, 0, 90, 85 contents--। और अब हम साथ संलग्न किया है कि 95 के रूप में अच्छी तरह से। अन्य तरीके हैं हम चीजों को संलग्न कर सकते हैं। आप वास्तव में उपयोग कर सकते हैं योग ऑपरेटर, जो के रूप में व्याख्या की जाएगी एक सरणी संलग्न आपरेशन। और तुम तो एक और संलग्न कर सकते हैं जिनकी सामग्री 70 और 80 हैं सरणी, कि सरणी के लिए। तो अब हमारे पास इस चर में सामग्री 100, 0, 90, 85, 95, 70, और 80 grades--। यह सिर्फ एक अच्छा सा वाक्यात्मक है स्विफ्ट हमें करने के लिए प्रदान करता है कि चीनी। हम योग करने के लिए चाहते हैं तो ग्रेड, हम शायद रहे हैं पुनरावृति करना चाहते करने जा इस पाश में हर आइटम पर। और हम स्विफ्ट में, धारणा, क्या करना है एक के पाश के लिए आप उम्मीद करेंगे। लेकिन हम से संकेत मिलता है कि रास्ता एक सीमा से थोड़ा अलग है। इस मामले में, के लिए तो सब कुछ योग, हम करेंगे एक अस्थायी बनाने जा हमारे लिए आदेश में चर बुलाया योग इस गणना बनाए रखने के लिए। और हमारे लिए नोटिस यहां पाश निर्माण। 0 में सूचकांक के लिए ..