RHED शि: आपका स्वागत है CS50 संगोष्ठी देख - IOS का परिचय. आने के लिए आप सभी को धन्यवाद. मैं आप बस के रूप में उत्साहित कर रहे हैं आशा मैं IOS के बारे में हूँ. पिछले साल, मैं एक sophomore के रूप में CS50 ले लिया, और मैं मूल के लिए आईओएस सीखा मेरी अंतिम परियोजना. और यह सुंदर था - खैर, यह आसान नहीं था, लेकिन वहाँ हैं ऑनलाइन समर्थन ट्यूटोरियल की बहुत सारी. और मैं सच में आशा है कि इस के साथ संगोष्ठी, मैं एक सिर तुम लोगों को दे देंगे आईओएस विकास पर शुरू तो, IOS विकास के संदर्भ में, दो मुख्य बातें हम कर रहे हैं आज कवर करना चाहते हैं. सबसे पहले, भाषा - भाषा में होने जा रहा है उद्देश्य सी. हम वास्तव में सुनेंगे वास्तव में रोमांचक कुछ. तो, आप पूरी एप्पल शामिल हो सकते हैं डेवलपर्स के समुदाय और कुछ का निर्माण वास्तव में भयानक क्षुधा. इसके अलावा, IOS 7, उम्मीद है, सुंदर है आप में से कुछ के लिए. लेकिन यह मुझे पता है, विवादास्पद है. और मुख्य रूप से क्या मैं करना चाहता गाइड है आप उद्देश्य सी, और भी माध्यम से एकीकृत है जो Xcode, आप हो जाएगा कि विकास के वातावरण आईओएस के लिए में काम कर रहे. और हां, उद्देश्य सी पर सिर्फ एक शब्द भी नहीं. असल में, यह, सी के रूप में सटीक एक ही है लेकिन अन्य चीजों की एक बहुत कुछ के साथ. और हां, तो और अधिक सख्ती से, यह वास्तव में एक सुपर सेट सी. के तो कुछ भी है कि आप जो अब ठीक है, सी में कर सकते हैं मूल रूप से आप, 6 के माध्यम से pset 0 पसंद उद्देश्य सी में कर सकते हैं. तो, इस नए बारे में डर नहीं लग रहा है आप को जानने के लिए जा रहे हैं कि भाषा. आप पहले से ही इसके बारे में एक बहुत कुछ शामिल है, आप सभी सी यह पिछले किया है क्योंकि सेमेस्टर, अब सिवाय इसके कि आप जा रहे हैं साथ काम करने के लिए एक बहुत अधिक है. और मैं सिर्फ एक के माध्यम से नेतृत्व करने के लिए जा रहा हूँ कुछ उजागर करने के लिए उदाहरण के जोड़े मैं ने पाया है कि मुख्य अंतर की वास्तव में महत्वपूर्ण है जब मैंने सीखा उद्देश्य सी पिछले साल. दरअसल, ऐसा है, तो अन्य बिंदु , उद्देश्य सी, जाहिर है, है वस्तु उन्मुख. और हम एक छोटा सा पर चर्चा करेंगे कि बाद में अर्थ के बारे में. असल में, यह आप के साथ कैसे काम की तरह है यह पिछले pset में structs, साथ नोड्स और इसी तरह के अन्य इस तरह बातें. उद्देश्य सी में, सब कुछ है, सिवाय एक वस्तु, और तुम हो जा रहे हैं वस्तुओं के लिए संकेत के आसपास गुजर बल्कि मूल्यों को खुद से. इसलिए, यह सिर्फ कुछ महत्वपूर्ण है मन में रखने के लिए. तो, क्यों हम कुछ के साथ शुरू नहीं है सी और के बीच वाक्यविन्यास में मतभेद उद्देश्य सी? मैं तुम, # include उजागर करना चाहते हैं सी और सी + + में पता है, मानक io.h, साथ उस के उद्देश्य सी संस्करण है, जो # आयात, और फिर किसी प्रकार की है हेडर फाइल. इस मामले में, यह UIKit होगा तुम्हें पता है, UIKit.h स्लेश. यह भी, आप जानते हैं, MKMapview हो सकता है अगर आप चाहते हैं कि आप MKMapview.h स्लेश , जैसे, अपने अनुप्रयोग के अंदर एक नक्शा पास करने के लिए. उस तरह इसी तरह की बातें. तो, महत्वपूर्ण बात शामिल है अब आयात करने के लिए बदल गया है. लेकिन विचार अभी भी बनी हुई है. आप किसी प्रकार का आयात करने जा रहे हैं अपने कार्यक्रम में हैडर फ़ाइल की. मैं भी फर्क को उजागर करना चाहते हैं printf और NSLog के बीच. हालांकि, हम पहले कहा, उद्देश्य सी एक सख्त सुपर सेट की है Printf मौजूद है जिसका मतलब है कि सी, उद्देश्य सी में भी. लेकिन, ज्यादातर लोगों को लगता है कि उपयोग नहीं करते. अधिकांश लोगों को इस NSLog का उपयोग यह है, क्योंकि आप एक समय टिकट देता है, और हम देखेंगे यह बाद में कार्रवाई में. लेकिन, यह आम तौर पर एक अधिक उपयोगी है चर बाहर मुद्रित करने के लिए रास्ता. और मैं यह भी है कि उजागर करना चाहते हैं NSLog सिर्फ एक ही में लेता है प्लेसहोल्डर मूल्यों printf रूप में करता है - तो% d एक पूर्णांक के लिए है, % च एक नाव के लिए है. हालांकि, मैं उजागर करना चाहते हैं यह बहुत पिछले एक - संकेत पर NSLog% - कि एक वस्तु के लिए एक प्लेसहोल्डर है. और जैसा कि मैंने पहले, उद्देश्य सी सौदों के रूप में कहा बहुत ज्यादा ज्यादातर वस्तुओं में, जब आप और इसलिए इस प्रयोग में आ जाएगा एक शायद, शायद, बाहर मुद्रित करना चाहते हैं NSArray, या NSDictionary, या एक NSString. तो, भी, हमारे NSLog में, कि नोटिस बयान, हम सामने संकेत पर एक है उद्धरण की - कि, अब, कि तार को दर्शाता है उद्देश्य सी में वस्तुओं रहे हैं. वे अब बस चार तारे हैं. वे वस्तुओं रहे हैं और कर रहे हैं इस तरह के रूप में व्यवहार किया. इसलिए, यह वास्तव में महत्वपूर्ण है कि जब आप NSLog का उपयोग यह एक एन एस में ले जाता है स्ट्रिंग, जो आपको करना होगा कि इसका मतलब के सामने एक में शामिल करने के लिए अपने उद्धरण चिह्नों. आप सभी में, यहाँ, देख और यही कारण है मेरे समारोह मैं, इस NSLog करने के लिए कॉल , उद्धरण के सामने एक पर भी % d और% च के हैं, हालांकि सी. से सभी एक ही कोई प्रश्न अब तक? मैं यह इतनी जल्दी के माध्यम से जाने की कोशिश करता हूँ हम काम करने के लिए और अधिक समय हो सकता है कि Xcode और उद्देश्य सी के साथ, तो तुम लोगों को अधिक मिल सकता है इसके साथ परिचित. अगला, मैं कुछ उजागर करना चाहते हैं धारणा महत्वपूर्ण है. इसलिए, सी में, सबसे चीजों कार्य कर रहे हैं. हम एक समारोह फोन करना. हम साथ काम करता है, इस तरह की घोषणा वापसी तो, पहले प्रकार समारोह का नाम, कोष्ठक, और उसके बाद जो भी तर्क और प्रकार की हम अंदर पारित करना चाहते हैं इन तर्कों और उद्देश्य सी, क्योंकि सब कुछ एक वस्तु या वर्ग है - इसलिए वर्ग और ऑब्जेक्ट दो शर्तें हैं कि एक दूसरे के साथ ज्यादातर पर्याय हैं, इसलिए मैं उन्हें interchangeably उपयोग कर सकते हैं संगोष्ठी के दौरान. लेकिन, आप हम तरीकों में है कि देख लेंगे उद्देश्य सी के बजाय काम करता है. और तरीकों वस्तुओं के हैं. तो बस के रूप में, शायद ले उदाहरण के लिए, नोड - हमारे प्रकार [सुनाई] pset 6 या 5 से नोड - हम, शब्द, संपत्ति है या अगले नोड सूचक. तरीकों बस के अंदर कार्य कर रहे हैं संरचना का किसी प्रकार का. इसलिए, इस मामले में, संरचना होगा वस्तु, और फिर विधि है एक वस्तु के अंतर्गत आता है कि कुछ और. और यह आप की घोषणा होती है, एक तरह से, एक विधि. तुम्हें पता है, फिर से, वापसी के साथ शुरू होगा टाइप - तो, ​​मैं रंग की कोशिश की यहां महत्वपूर्ण यह शब्द है कि कोड तो तुम लोग कम से कम, स्वरूपण देख सकते हैं समारोह के बीच समानता घोषणाओं और विधि घोषणाओं. तो, आप एक वापसी, तुम्हें पता है, के साथ शुरू टाइप - इस मामले में, यह एक सरणी है, या एक NSArray सूचक - और तब आप इस विधि है. और फिर, क्या यहां दिलचस्प बात यह है कि बजाय कोष्ठकों होने का, हम इन कोलन है. और फिर, हमारे तर्कों के सामने, हम कोष्ठक में, फिर से, डाल प्रकार हमारे तर्क की. तो, अभी मैं बनाने की कोशिश कर रहा हूँ तुम्हें पता है, और एन के बीच तुलना संख्या, वे कर रहे हैं, क्योंकि जैसे ints दोनों. और फिर, अन्य एक एक NSUInteger प्रकार है. और फिर, उद्देश्य सी के साथ, जब आप में कई तर्क है चाहता हूँ अपने विधि खंड, आप की तरह, एक तरह से इस तरह उन्हें अलग - मैं यह वर्णन कैसे काफी यकीन नहीं है, लेकिन यह कैसे आप का एक अच्छा उदाहरण है वहाँ में कई तर्क हो सकता है. आप, बेशक, अभी पूरी तरह से कर सकता है andArray पेट के उपेक्षा NSArray आप सिर्फ एक विधि चाहते थे सरणी अगर कि एक बहस में लग जाते हैं. हाँ, सवाल. दर्शक: NSUInteger और दोनों हैं में लिया जा सकता है कि NSArray तर्क NSArray भीतर? RHED शि: हाँ. तो, मुझे समझाओ. तो, हाँ. तो, सवाल यह था NSUInteger हैं और तर्कों की NSArray * प्रकार, और यह सही है. तो, आप हमेशा क्या निर्दिष्ट करना चाहते हैं अपने तर्क के प्रकार है. और यहाँ, मैं आप को पेश करने की कोशिश कर रहा हूँ के वाक्यविन्यास और vocab में से कुछ को उद्देश्य सी, ताकि उन वास्तविक प्रकार हैं आप के साथ काम कर सकता हूँ कि. और अगर आप ध्यान देंगे, सरणियों , की तरह नहीं रह रहे हैं सरल ब्रैकेट बातें. वे वस्तुओं रहे हैं. हालांकि, हम अगले पर जाने के लिए अगर स्लाइड, हम देख सकते हैं कि हम कर सकते हैं कि कड़ी मेहनत से कोड के साथ उद्देश्य सी में एक NSArray के सामने बस एक पर प्रतीक कोष्ठक. मैं, कि क्या वास्तव में, काफी यकीन नहीं है मैं वाक्य रचना से एक सरणी हार्ड कोडित सही ढंग से सी संस्करण के लिए, लेकिन है कि एक सी सरणी में होना चाहिए. तो, यह आप, आप जानते हैं कि कैसे है, शायद कार्यों या उपयोग हम पहले बनाया था तरीकों. है ना? हम घोषित जहां तो, यह है हमारी समारोह और हमारे विधि. और अब हम में से उन का उपयोग करना चाहते हैं हमारे कार्यक्रम, और यह है हम इसे कैसे करोगे. इसलिए, सी में, आप, आप जानते हैं, होगा शायद, एक bool बी, और आप के लिए यह सेट तो समारोह के बराबर है, और आप तर्क में गुजरती हैं. उद्देश्य सी में, यह बहुत है ज्यादा एक ही बात. आप NSArray * my_array है, और यह बात है अब, केवल - बराबर करने के लिए जा रहा यहाँ अंतर यह वस्तु बात है, जो मैं पीले रंग में प्रकाश डाला है, और आप देख सकते हैं, सी में, वहाँ कोई अन्य पीले शब्द. तरीकों संबंधित और क्योंकि यह है एक निश्चित उद्देश्य के साथ. मैं एक वस्तु की आवश्यकता है तो इसलिए कि, की तरह, पर इस विधि कॉल तो संख्या शून्य है, और NSArray ए, बी, सी, डी. उस पर कोई सवाल? हम कार्रवाई में इन अवधारणाओं को देखेंगे बहुत जल्द हम एक डेमो में जाने. ठीक है. अब, मैं संक्षेप में एक छोटा सा बात करना चाहता हूँ जो Xcode 5 के बारे में एकीकृत विकास पर्यावरण आप के साथ काम कर सकता हूँ कि. मैं आप में से एक बहुत कुछ पता है, या आप में से कुछ एक समस्या है जो एमएसीएस नहीं है Xcode उपलब्ध नहीं है क्योंकि Windows और पीसी के लिए. यही कारण है, लेकिन शायद मुझे मत पूछो - हाँ, कॉर्पोरेट. जो भी हो. लेकिन वैसे भी, तो, मैं माफी माँगता हूँ कुछ की अगर आप किसी प्रकार के डाउनलोड करने के लिए है में मैक के लिए आभासी मशीन Xcode 5 चलाने के लिए. लेकिन यह एक सुंदर गंधा है उपयोग करने के लिए सॉफ्टवेयर. और हां, इससे पहले कि हम किसी भी तरह में डुबकी डेमो के, मैं सिर्फ आपको एक दिखाना चाहते हैं Xcode में ऐसा लगता है की तस्वीर अपने खिड़की, और फिर भी इस बारे में बात इस पूरे अंतरिक्ष में क्या है. इसलिए, यह एक तरह से सीखने की तरह है कैसे करने के लिए आप करना चाहते हैं, सिवाय माइक्रोसॉफ्ट वर्ड का उपयोग सभी के साथ familiarized कर अलग अलग बातें है कि यहाँ पर जा रहे हैं. तो सबसे पहले, मैं आपको कहना चाहता हूँ शीर्ष पर उपकरण पट्टी के लिए. आप शीर्ष पर, कि देख लेंगे, आप फ़ाइल का नाम होगा - या, वास्तव में, अपनी परियोजना का नाम और तब आपकी फ़ाइल नाम. नाटक का ध्यान रखना और स्टॉप बटन. उन तुम हो जाएगा कि लोग कर रहे हैं पर अपने अनुप्रयोग चलाने के लिए उपयोग सिम्युलेटर - आईओएस सिम्युलेटर. यह स्वतः, Xcode 5 के साथ आता है तो आप के बारे में चिंता करने की ज़रूरत नहीं है सिम्युलेटर के कुछ प्रकार के डाउनलोड करने. तुम सिर्फ प्रेस खेलते हैं और तो यह आपके app चलाता है. और आप के साथ खेलने के आसपास है, और कर सकते हैं आप इसे बाद में कैसे काम करता है देखेंगे. और फिर, केंद्र में, ज़ाहिर है, जहां अपने सुंदर कोड के सभी है जाने के लिए जा रहा है. और फिर, बाएं हाथ की ओर, तुम हूँ इस के लिए है, की तरह, फ़ोल्डर - नेविगेशन - और फिर, आप भी साथ, कि देख लेंगे फ़ोल्डर चिह्न के साथ एक कर रहे हैं वहाँ अन्य प्रतीक का गुच्छा कि बाद में उपयोगी हो जाएगा. और फिर, सही पक्ष पर एक उपयोगिता है आप के साथ काम कर सकते हैं, जहां क्षेत्र वस्तुओं में से कुछ और, आपके द्वारा निर्दिष्ट पता है, रंग क्या होना चाहिए, क्या पाठ फ़ॉन्ट वगैरह, होना चाहिए. तुम सब कुछ है कि, हालांकि उपयोगिता क्षेत्र में, आप कर सकते हैं साथ ही कोड में करते हैं. और हां, मैं दो के माध्यम से जा रहा हूँ पर, बस, कोई कोड का उपयोग करने का उदाहरण सब - या बहुत कम कोड - सभी कोड छंद, बस इतना है कि तुम लोग आप और क्या नहीं कर सकते पता है क्या Xcode और उद्देश्य सी. और फिर, अंत में, नीचे तल पर, आप डिबग क्षेत्र है. तो, आप नहीं रह गया, GDB चलाने के लिए है वगैरह, अपने कार्यक्रमों पर. यह स्वतः ही आप के लिए यह करता है. और तुम भी प्रिंट कर सकते हैं इस क्षेत्र के लिए सामान. तो वास्तव में, बाद में, हम के माध्यम से जाना होगा mario.c, तुम लोग अभी भी याद है कि, Xcode में. तो यह है कि मजेदार होना चाहिए. और फिर, अभी तक इसे वापस लाने के लिए उद्देश्य सी, मैं उजागर करना चाहते हैं आप अगर बयानों के साथ क्या कर सकते हैं. उद्देश्य सी है क्योंकि तो, आप जानते हैं, एक सी के superset, सब कुछ आप, है सी. आप जैसे सचमुच, एक ही बस मामूली मतभेद हैं. तो, आप एक के लिए अगर फार्म पर ध्यान देंगे बयान अब भी वही है - तुम्हारे पास आप के साथ कोष्ठकों है तो अगर, और के अंदर एक शर्त है, यह और फिर जो कुछ भी आप के लिए घुंघराले ब्रेसिज़ वहाँ के अंदर करना चाहते हैं. हालांकि, मैं इस स्लाइड अप करना चाहते थे यहाँ, बस उस वर्णन करने के लिए, हम, अब वस्तुओं के साथ काम कर रहे हैं, क्योंकि हम इन चीजों का इस्तेमाल करना होगा जैसे कहा जाता है, स्ट्रिंग के बराबर है जो एक की है, संयोग से, एक विधि स्ट्रिंग या एक NSString वस्तु. तो, शब्द, इस मामले में, एक NSString है उद्देश्य है, और यह है एक विधि बुलाया है स्ट्रिंग के बराबर है, और फिर हम गुजर रहे हैं देखने के लिए एक हार्ड कोडित स्ट्रिंग में उन बराबर हैं चाहे एक दूसरे से. कोई प्रश्न अब तक? ठीक है. और, मैं पर जाना चाहता हूँ भी बयान के लिए एक. तो, उदाहरण के लिए, हम चाहते थे कि यदि पाश के लिए सी में एक स्ट्रिंग की लंबाई से अधिक है, इस आप परिचित होना चाहिए. और, उद्देश्य सी में, मैं चाहती हो , की तरह, इस पर प्रकाश डाला करने के लिए विधि गिनती बुलाया. दरअसल, मुझे जाने बस उसे वापस ले लो. गणना सरणी की एक विधि है. हालांकि, यह अधिक विशेष रूप से है एक तुम क्यों है जो सरणी, की संपत्ति डॉट संकेतन का उपयोग कर सकते हैं. लेकिन मैं बहुत ज्यादा में मिल नहीं करना चाहती इस वैचारिक चीज नहीं है, मैं बस चाहता हूँ चीजें कैसे लगेगा तुम्हें दिखाने के लिए जैसे सी. बनाम उद्देश्य सी में और यह भी, मैं बाहर बात करना चाहते हैं कि मैं NSUInteger उपयोग किया गया है, भले ही उद्देश्य सी में अपने सभी मैं के सामने, INT है क्योंकि आप भी, INT उपयोग कर सकते हैं उद्देश्य सी में पूरी तरह से वैध है, यह भी. हाँ? दर्शक: यह बस है शैलीगत, या है - RHED शि: हाँ. तो, जैसा कि आप देखेंगे - तो, सवाल यह है था कि सिर्फ एक शैलीगत मुद्दा. जैसा कि आप देखेंगे, मैं एक है, की तरह, स्टार है तारांकन नीचे तल पर बात, और उस लिंक पर एक पोट अतिप्रवाह पर ले जाता है किसी को बताते हैं जहां फार्म में एक पूर्णांक के बीच अंतर NSInteger और एक NSUInteger. और हां, तो आप के बारे में है कि बाद में पढ़ सकते हैं. ये स्लाइड बेशक, हो जाएगा, आप के लिए उपलब्ध. चलो देखते हैं. ठीक है, बहुत बढ़िया. तो, यह भी स्लाइड में शामिल है मैं इस एक बहुत अच्छा था क्योंकि मैंने सोचा आप का परिचय है कि वेबसाइट उद्देश्य सी वाक्यविन्यास के लिए. तो, वास्तव में, क्यों हम करने के लिए कदम नहीं है क्रोम और इस वेबसाइट की जाँच? ठीक है. तो, क्या मैं आप दिखाना चाहते हैं यहां लोगों को इस छवि है. तो, यह है, की तरह, होने जा रहा है क्या आप किसी के अंदर देखने जा रहे हैं Xcode फ़ाइल. दरअसल, यही कारण है कि हम सिर्फ एक नहीं लेते , की तरह, अंदर इस लेने के पल तो, इस किताब - उद्देश्य यह है कि है कि हम साथ काम कर रहे हैं. और फिर, यह स्पष्ट रूप से होने जा रहा है कुछ अन्य वस्तु से विरासत में मिला है, लेकिन आप इस बारे में चिंता करने की ज़रूरत नहीं है. और फिर, यह, शायद, है कुछ सदस्य चर. मैं आपको दिखाना चाहता हूँ महत्वपूर्ण बात यहां उदाहरण के तरीके, है. तो, उदाहरण के तरीके चिह्नित हैं इस ऋण चिह्न द्वारा. आप ध्यान देंगे और फिर, हम कर रहे हैं पहले से ही प्रतिमान देखने के लिए शुरू विधि घोषणा के लिए, सही है? वापसी प्रकार, विधि नाम, और तब तर्क के प्रकार, और तब तर्क के नाम. और इस ऋण चिह्न यह एक मतलब है कि उदाहरण विधि, जिसका मतलब है कि इन तरीकों को ही उपलब्ध हैं चालू किया गया है कि वस्तुओं. एक प्लस के साथ कि इसके विपरीत, विधियों उनके सामने हस्ताक्षर स्तर के हैं विधियों, जो आप कह सकते हैं कि इसका मतलब इन विधियों, भले ही आप नहीं है तो एक वस्तु अभी तक नहीं बनाया. तो, एक स्पष्ट उदाहरण के लिए, NSString एक वर्ग है. और आप उदाहरण के लिए, कॉल कर सकते हैं, NSString पर कक्षा तरीके - वास्तविक, जैसे, शब्द NSString. हालांकि, क्रम में इन का उपयोग करने के लिए तरीकों, आप वास्तव में एक स्ट्रिंग बनाने की जरूरत है. उदाहरण के लिए, NSString सितारा स्ट्रिंग के बराबर होती है उद्धरण के निशान पर, हैलो दुनिया. और फिर, आप इन तरीकों का उपयोग कर सकते हैं - उदाहरण के तरीके - कि नमस्ते विश्व स्ट्रिंग पर. तो, उस के बीच का अंतर है उदाहरण के तरीके और वर्ग के तरीकों. और, हम सिर्फ इस हिस्से को कवर किया. गुण हैं कि एक और बात कर रहे हैं वस्तुओं के अंदर, मूल रूप से. और उन्हें अपने साथ घोषित संपत्ति कीवर्ड पर. आप यहाँ, इन विकल्प हैं, जब मैं बाद में समझाता हूँ कि हम एक डेमो में चलते हैं. हाँ? हाय. दर्शक: तुम, कृपया में ज़ूम सकता है? RHED शि: अरे हाँ. माफ़ कीजिए. दर्शक: धन्यवाद. RHED शि: यह एक बहुत बेहतर होना चाहिए. दर्शक: हाँ. धन्यवाद. RHED शि: हाँ, मुझे याद है तो कृपया मैं में ज़ूम या बाहर ज़ूम करने के लिए भूल जाते हैं. तो, यह सब मैं चाहता है के लिए आप को दिखाने के लिए - वाह, यह एक बहुत है - इस वेबसाइट के लिए. तो, चलो वापस हमारे स्लाइड्स के लिए चलते हैं. दरअसल, अब चलो, एक पल ले लो एक डेमो में गोता लगाने के लिए. तो, हम एक साथ शुरू करेंगे नई Xcode परियोजना. तो, आप सब पर Xcode खोल देता हूँ अगर अपनी मशीनों, यह आपको कुछ लेना चाहिए यह पसंद है, खुला, या तो कहते पेज जहां ऊपर एक मौजूदा परियोजना या एक नया परियोजना, और तुम चाहिए एक नई परियोजना पर क्लिक करें. और फिर, इसे ले जाना चाहिए इस स्क्रीन पर आप. हाँ? दर्शक: हम एक मैक नहीं है, हम बस की तरह ठंडा करते हैं? RHED शि: या पर दिखेगा किसी के साथ, हाँ. हाँ. तुम भी ठंडा कर सकते हैं. ठीक है. तो, क्या हम अब, पहले क्या करने जा रहे हैं, , वास्तव में, हम क्या करने जा रहे हैं एक एकल दृश्य आवेदन. आप ध्यान देंगे तो, क्या महान है Xcode और के लिए एप्पल समर्थन के बारे में डेवलपर्स आप में से एक बहुत कुछ है पहले से ही के साथ काम करने के लिए टेम्पलेट्स. तुम, उदाहरण के लिए, एक बना सकता है मास्टर विस्तार आवेदन. आप एक खेल बना सकते हैं - और वास्तव में, मैं खेल में नहीं जाना होगा, खेल एक अलग कहानी है क्योंकि आईओएस के विकास के लिए. और वे एक तरह से, अलग कर रहे हैं इसलिए मुझे लगता है कि में नहीं जाना होगा. उसके बाद, आप पेज आधारित है अनुप्रयोगों. आप टैब आवेदन किया है - तो उदाहरण के लिए, जैसे, बैंक ऑफ अमेरिका शायद, जैसे, एक tabbed अनुप्रयोग है. यह तुम लोगों को जहां है तल पर बटन. और फिर, आप एक स्प्राइट किट खेल है. या फिर आप स्क्रैच से काम कर सकते हैं जो हम बाद में क्या करेंगे है. लेकिन चलो, पहले, के साथ शुरू एक ही दृश्य आवेदन. फिर, यह एक उत्पाद के नाम के लिए पूछता हूँ, और हम अभी परीक्षण कर सकता है. संगठन का नाम - इसलिए, संगठन का नाम, कंपनी पहचानकर्ता - आप जा रहे हैं उन महत्वपूर्ण हैं App स्टोर पर अपने app डाल दिया. उसके अलावा, अपने कोड के लिए जा रहा है इस बिना बिल्कुल ठीक चला. यह महत्वपूर्ण होने जा रहा है आप अगर चाहते हैं - तो, ​​दर असल, जैसे, अपने app डाल अपने फोन या कुछ और, और परीक्षण पर यह बाहर, तुम्हें पता है, वास्तविक जीवन में - इस महत्वपूर्ण होगा. यह आमतौर पर के साथ जुड़ा हो जाता है डेवलपर खाते में किसी प्रकार का एप्पल के साथ. और हां, मैं, शायद, आप में से एक बहुत कुछ पता है किसी भी डेवलपर खाते नहीं होगा. मैं विश्वविद्यालय से एक है पता है. मैं सीएस एक है लगता है. लेकिन, आप मुझे ईमेल कर सकते हैं और मैं कोशिश करता हूँ आप के लिए है कि यह पता लगाने के लिए. लेकिन अभी, मैं बस में डाल दिया है यहाँ कुछ प्लेसहोल्डर बातें. और आप, बेशक, यहां चुन सकते हैं आप इसे पूरी तरह में होना चाहते हैं या नहीं iPhone, iPad में, या दोनों - सार्वभौमिक आवेदन. तो, अब के लिए, बस, सार्वभौमिक करते हैं मंच के दोनों पक्षों को देखने के लिए. चलो देखते हैं. तो, अब ठीक है, मुझे बचाने के लिए जा रहा हूँ यह फ़ोल्डर के कुछ प्रकार में. जहां कोई बात नहीं - तुम इसे बाद में स्थानांतरित कर सकते हैं. और, अब, हम लाया जाता है हमारे Xcode परियोजना के लिए. मैं इस सब के बारे में चिंता नहीं होगी. मैं से किसी को छू नहीं सुझाव जाएगा यही नहीं, जब तक आप जानते हैं कि क्या वास्तव आप क्या कर रहे हैं. तो, यह सब, बस की अनदेखी अधिकांश भाग के लिए. आप इसे छूने की जरूरत है, और यदि आप नहीं होगा यहाँ कुछ चीजें आप क्या गड़बड़ करते हैं, यह थोड़ा मुश्किल हो जाता है. तो, क्यों हम इस पर गौर नहीं करते पर फाइलें हमारे नेविगेटर में बाएं हाथ की ओर. यहाँ, हम AppDelegate.h है. हम AppDelegate.m तो आप पाएँगे, नोटिस, हम फाइलें, शीर्षक है जो डॉट घंटे में खत्म हो, और हम हैं कार्यान्वयन - वास्तव में, मुझे अंदर ज़ूम ठीक है. मुझे अंदर ज़ूम ठीक है, तो आप फ़ाइलों शीर्षक और है आप कार्यान्वयन फ़ाइलें है. असल में - ठीक है. यह थोड़ा अजीब है लेकिन मेरे साथ सहन. फिर, क्योंकि हम एक ही दृश्य चुन लिया आवेदन, हम हो जा रहे हैं स्टोरीबोर्ड के साथ काम कर रहे. तो, स्टोरीबोर्ड कुछ है कि एप्पल वास्तव में मदद करने के साथ आ गया है डेवलपर्स तेजी से प्रोटोटाइप अपने आवेदन पत्र. आप बना सकते हैं जहां तो, यह है एक लेखन के बिना एक app कोड की एक लाइन. हालांकि, हमारे ही दृश्य आवेदन में, हम, ज़ाहिर है, एक की क्या ज़रूरत है हमारे विचार के लिए फाइल जो एक दृश्य नियंत्रक है. तो, हम शीर्षक है और यहाँ कार्यान्वयन फ़ाइल,. और, मैं अब बाहर ज़ूम करने के लिए जा रहा हूँ क्योंकि हम स्टोरीबोर्ड में काम करने की आवश्यकता होगी. तो, यहाँ हमारे दृष्टिकोण है. हम हैं, बस, अब ठीक है, अनुप्रयोग चलाने चल रहा ज्यादा रोमांचक कुछ नहीं है. तो, अगर आप इस सफेद स्क्रीन देखेंगे. ठीक है? और, हमारे उपयोगिताओं क्षेत्र में, हम जोड़ सकते हैं यह करने के लिए अलग अलग चीजों का एक गुच्छा. तो, आप स्क्रीन के साथ काम कर रहे हैं आईओएस में, दृश्य नियंत्रकों हैं encapsulate वस्तुओं है कि, एक तरह से, अपने विचार. तो, एक दृश्य नियंत्रक हमेशा देखें एक संपत्ति का आह्वान किया है. और वह देखने के लिए, आम तौर पर होता है, तुम्हें पता है, तुम क्या एक स्क्रीन पर देखना चाहते हैं. तो, ठीक है, चलो बस डाल द्वारा शुरू करते हैं, शायद, शायद एक लेबल. तो, चलो वहाँ पर एक लेबल लगा है - बीच में यह छड़ी. तो, अब मैं मैं, लेबल पर क्लिक किया है कि गुण निरीक्षक में जा सकते हैं और इसकी कीमत में बदलाव शुरू. के CS50 ध्वज कहते हैं. और, मैं भी फ़ॉन्ट बदल सकते हैं. बजाय प्रणाली, कर की तो, है जो Default, हम एक कस्टम एक कर सकते हैं. हम बदल सकते हैं - तुम्हें पता है, ultralight, यह 32 रही है. और फिर, हम अपने बॉक्स बड़ा बना सकते हैं. दर्शक: क्या आप ज़ूम कर सकते हैं लगता है कि सिर्फ एक छोटे से अधिक में, हो सकता है? RHED शि: हाँ? ठीक है. दर्शक: बस यह नल? RHED शि: चलो देखते हैं. यह काम करता है? दर्शक: बस Xcode पास? RHED शि: यकीन है. ठीक है. बहुत बढ़िया. दर्शक: के तहत लेबल? लेबल? RHED शि: वह क्या है? दर्शक: क्या ड्रॉप डाउन के तहत लेबल था? RHED शि: तो, सवाल, क्या था ड्रॉप डाउन के तहत लेबल था? यह बस, यहाँ के तहत होना चाहिए. मैं इसे एक घन बात है. लेकिन आम तौर पर, यह डिफ़ॉल्ट है - मैं बस यहाँ नीचे जा रहा हूँ मैं एक लेबल लगता है जब तक. हाँ. तो अब, हम अपने लेबल है. चलो यह केंद्र चलो. और Xcode हमें दिशा निर्देश देता है वस्तुओं को एकत्रित करने के लिए. तो, अब फिर से हमारे कोड चलाते हैं. हम वहाँ जाते हैं. तो, हम CS50 ध्वज है. और अब, चलो एक बटन डाल दिया वहाँ पर, सही? हम बनाना चाहते क्योंकि इस इंटरैक्टिव. तो, चलो यहाँ एक बटन डाल दिया. और हम यहाँ इस बटन "नल फोन करता हूँ जारी रखने के लिए. "हम भी, यह केंद्र लेंगे दरअसल, यह पहले से ही केन्द्रित है. हाँ. तो, अब हम एक बटन है. हम फिर से इस दौड़ और, अगर हम जा रहे हैं यहाँ एक अच्छा सा बटन है. और मैं इसे क्लिक कर सकते हैं, लेकिन ऐसा नहीं है कुछ भी, हम नहीं किया है क्योंकि अभी तक बटन के साथ कुछ भी. तो, ठीक है, चलो एक और दृश्य पैदा करते हैं? तो, मैं नल चाहते का कहना हैं कि बटन और मैं चाहता हूँ एक अन्य पेज के लिए जाने - एक और दृश्य. मैं क्या करने जा रहा हूँ है, मैं बना सकते हैं एक दृश्य नियंत्रक, सही? अब मैं अपने बटन पर क्लिक करें और फिर, करेंगे महत्वपूर्ण बात यह है कि मैं जा रहा हूँ, है क्लिक करें - या - हाँ, अपने कुंजीपटल पर प्रेस नियंत्रण. नियंत्रण. बटन पर क्लिक करें और फिर खींचें. तो, नियंत्रण कुंजी पकड़ करने के लिए याद है. चलो फिर से करते हैं. तो, नियंत्रण पकड़ क्लिक करें और खींचें आप क्या करना चाहते हैं. ठीक है. और अब, मैं यहाँ कई विकल्प हैं. मैं या तो धक्का, या मैं एक कर सकते हैं मोडल, या मैं एक कस्टम कर सकते हैं. पुश आपके पास केवल यदि एक नेविगेशन नियंत्रक. फिलहाल, हमारे बहुत पहले देखें नियंत्रक किसी के अंदर नहीं है नेविगेशन नियंत्रक. तो, नेविगेशन नियंत्रक से एक है कि तुम वापस बटन पर देता है तुम कहाँ IOS अनुप्रयोग, तुम्हें पता है, कि शीर्ष, की तरह, मोटी बार - आप वापस जा सकते हैं, या जहां आगे, वगैरह. अभी, मुझे लगता है कि नहीं है. मैं एक धक्का क्यों नहीं कर सकते और इसलिए, कि है. तो, मैं धक्का पर क्लिक किया अकस्मात, यहाँ. और वास्तव में, के कोड चलाते हैं, और यह मुझ पर दुर्घटना चाहिए. मैं बटन दबाते ही अगर हालांकि, तो - सही. तो, यह बुरा है. और, यदि आप यहाँ देख सकते हैं, के रूप में हम त्रुटि संदेश है. तो, "पुश segues ही इस्तेमाल किया जा सकता है जब स्रोत नियंत्रक एक द्वारा किया जाता है यूआई नेविगेशन नियंत्रक के उदाहरण. " तो, यह एक के अंदर नहीं था क्योंकि नेविगेशन नियंत्रक, मैं ऐसा नहीं कर सकता. तो, अब ठीक है, मैं वापस जा रहा हूँ फ़ोल्डर, वापस स्टोरीबोर्ड के लिए जा रहा. दर्शक: नेविगेशन क्या है नियंत्रक, फिर? RHED शि: तो अब ठीक है, मैं तुम्हें दिखाता हूँ. चलो देखते हैं. इसलिए, मैं इस दृश्य पर क्लिक करने के लिए जा रहा हूँ नियंत्रक, और फिर मैं जा रहा हूँ उत्पाद पर निर्भर है - दरअसल, नहीं, खेद - संपादक. और मैं में जाने के लिए जा रहा हूँ - वास्तव में, मैं उस पर क्लिक किया? नहीं. हम वहाँ जाते हैं. मैं संपादक में ऊपर जाने के लिए जा रहा हूँ, नीचे जाना में एम्बेड, और फिर कन्टेन्ट नियंत्रक. ठीक है. और, मेरे कार्यक्षेत्र, वास्तव में गंदा लग रहा है तो चलो यह साफ करते हैं. तो, इस सब स्टोरीबोर्ड है. और इस तरह - ठीक है, बंद करो - मैं जल्दी से कुछ का निर्माण कर सकते हैं इस तरह से. और फिर, अब मैं वापस जा सकते हैं, आप जानते हैं? लेकिन यह ठीक है, बोरिंग की तरह है? तो, मैं क्या करना चाहते हैं, मैं नहीं चाहता है बस यूँ ही, एक दृश्य बनाने के लिए नियंत्रक. कहते हैं कि मैं वास्तव में बनाना चाहते थे हम कहते हैं कि एक तालिका दृश्य नियंत्रक, तो मैं में डाल सकते हैं तालिका में कुछ अच्छा रंग,. तो, अब मैं मेरी तालिका दृश्य में डाल दिया है कि नियंत्रक, मैं इसे वापस जोड़ने की जरूरत इस बटन से देखें नियंत्रक. इसलिए मैं अपने नियंत्रण में करने की ज़रूरत, क्लिक करें, खींचें बात फिर से. मैं एम्बेड और क्योंकि अब मैं, धक्का कर सकते हैं यह एक नेविगेशन नियंत्रक के अंदर. दर्शक: नेविगेशन नियंत्रक बस आप के लिए जगह जगह से जाने के लिए अनुमति देता है? RHED शि: हाँ. तो, अधिक तकनीकी रूप से, यह है एक वस्तु जहां - इसलिए, नेविगेशन के अंदर नियंत्रक वस्तु, यह एक सरणी का ट्रैक रखता है. और उस सरणी बाद के सभी रखती है नियंत्रकों को देखने. आप पीछे प्रेस जब यही कारण है कि, है यह पिछले पृष्ठ पर वापस चला जाता है. क्योंकि नेविगेशन नियंत्रक वस्तु, या का ख्याल रखता है कि कोड इस वस्तु, रहता है कि एक सरणी है इन्हें देखने के नियंत्रकों का ट्रैक और तो, आप जानते हैं, देखने डीक्यू कर सकते हैं नियंत्रक और तुम वापस दे पिछले एक. तो, इस तकनीकी सामान है, लेकिन - और मैं बाद में तुम्हें दिखाता हूँ कोड, हम समय है. मैं एक तरह से समय पर बाहर चल रहे हैं, लेकिन कर रहा हूँ - तो, तालिका दृश्य के साथ, क्या हम क्या कर सकते है - यह आमतौर पर स्वचालित रूप से सेट है गतिशील प्रोटोटाइप के लिए - हम यह स्थिर कोशिकाओं को बनाने जा रहे हैं, अन्यथा हम करने जा रहे हैं कुछ समस्याओं में चलाते हैं. और फिर, कि मैं जा रहा हूँ हम कहते हैं एक खंड. तो, वर्गों की तरह है - क्या तुमने कभी संगीत app देखा है, जब आप कलाकारों, वर्गों होता है एक के Z's के माध्यम से हो सकता है - पत्र - और फिर, जैसा कि आप जानते हैं, व्यक्तिगत पंक्तियों कलाकार नाम होगा. और हां, तो क्या यहाँ अच्छा है, है कि मैं कर सकता अंदर की वस्तुओं के सभी का उपयोग इस के माध्यम से अपने स्टोरीबोर्ड की ड्रॉप डाउन मीनू, भी. इसलिए, मैं अपने खंड पर क्लिक करने के लिए जा रहा हूँ, और मैं, तुम्हें पता है, शायद पाँच पंक्तियों चाहते हैं. और फिर, प्रत्येक पंक्ति के अंदर, मैं एक लेबल करना चाहते हैं. और मैं इस ब्लू कॉल करने के लिए जा रहा हूँ. और फिर, मैं तुम्हें एक यूआई देखें डाल करना चाहते हैं शायद एक छोटे से बॉक्स, जैसे, के लिए, पता है. मैं लोगों को दिखा सकते हैं कि तो रंग की एक पूर्वावलोकन. और मैं वापस संपत्ति के लिए जा सकते हैं और करेंगे ओह, मैं नहीं है, कि रंग में परिवर्तित , इस एक पता. और फिर, जब मैं, यहाँ, भी नोटिस सामान, मैं बहुत से हो सकते हैं विभिन्न सामान की आप आम तौर पर देखते हैं. प्रकटीकरण सूचक, विस्तार, या जाँच चिह्न, या बस सिर्फ विस्तार. तो, शायद हम, की तरह, एक प्रकटीकरण कर सकते हैं सूचक, उदाहरण के लिए. और फिर, क्यों हम इन, नकल नहीं लेते उन्हें पेस्ट, और में डाल अगले तालिका पंक्ति. तो, हम इस पीले कॉल कर सकते हैं. और मैं इस विस्तार करने के लिए हो सकता है. चलो यह पीले कर दूं. और इस तरह, हम कॉपी कर सकते हैं हमारे रास्ते नीचे चिपका दें. यह क्या था? बैंगनी. तो, इन सभी ठेठ CS50 हैं क्या आप कक्षा में देखा है कि रंग - वास्तव में, खेद - या वेबसाइट पर. उम्मीद है कि तुम लोगों को देख सकते हैं मैं यहाँ क्या कर रहा हूँ. ठीक है. पिछले एक. दर्शक: आप कैसे जोड़ दिया शुरू में पंक्ति? RHED शि: तो, सवाल था, कैसे मैं शुरू में पंक्ति जोड़ दिया? मैं इस तालिका अनुभाग में चला गया - या फिर भी मैं कर सकता हूँ तालिका अनुभाग का चयन करें - और फिर, यहाँ, मैं अद्यतन पंक्तियों की संख्या. और, मुझे यह काम करता है आशा करते हैं. ठीक है. अगर यह काम करता चलो देखते हैं. ओह, सही, बहुत बढ़िया. ठीक है. मैं अपने प्रदर्शन, कुछ का निर्माण किया गया है, जबकि बातों के लिए धन्यवाद गठबंधन है, इसलिए नहीं कर रहे थे तालियां. हाँ. तो, चलो देखते हैं. हम इस नौ सिर्फ बनाने के लिए कर दूँगा सब कुछ - या वास्तव में, चलो बस प्रकटीकरण में इन सभी का बारी संकेतक. और फिर, मैं भी, आप दिखाना चाहते हैं क्या, मैं उन लोगों में से प्रत्येक ले जा सकते हैं कैसे था तालिका पंक्तियों और उन्हें बातचीत है - ओह. नहीं. ओह. इसके अलावा, मैं आपको दिखाना चाहता हूँ - यहां, मैं का शीर्षक रख सकते हैं मेरे नेविगेशन नियंत्रक, सही? तो वास्तव में, आप के रूप में जल्द ही के रूप में, नोटिस हूँ मैं अंदर इस दृश्य नियंत्रक एम्बेडेड नेविगेशन नियंत्रक का, हम देखते हैं हमारे के शीर्ष पर इस नेविगेशन पट्टी स्टोरीबोर्ड प्रतिनिधित्व एक दृश्य नियंत्रक की. और हां, तो यह, जैसे, एक दृश्य हमें देता है एक तरह से, हमारे दिखाई स्क्रीन करने के लिए गाइड. यह स्पष्ट रूप से करने के लिए जा रहा है नेविगेशन पट्टी हो. और क्या मैं जल्दी करना चाहते हैं, अब, दूसरे में डाल दिया जाता है - मैं ने किया था ताकि इस तालिका देखें नियंत्रक इनमें से एक को लेने और खींच यहां, और कहा कि मुझे करने की अनुमति दी है क्या जल्दी से, वास्तव में, एक मेज दृश्य बना नियंत्रक. हम हालांकि समय है, तो आप हूँ देखना है कि प्रोग्राम, यह एक है एक तालिका बनाने के लिए अधिक मुश्किल थोड़ा सा देखें नियंत्रक, क्योंकि वहाँ हैं कि तरीकों के एक जोड़े हैं आप की तरह, लिखने के लिए आवश्यक तालिका दृश्य के लिए आदेश में बाहर नियंत्रक सही ढंग से प्रदर्शित किया जा सके. हालांकि, मैं तो बस, अब, आप दिखाना चाहते हैं मैं इस लेते हैं जहां, का एक उदाहरण है, उदाहरण के लिए - मैं किसी अन्य दृश्य नियंत्रक में डाल दिया है. और अब, मैं नियंत्रित करने के लिए कहना चाहते हैं मेरी बहुत पहले नीले ऑल्ट यहाँ करने के लिए तालिका पंक्ति. और मैं इस ब्लू कॉल करना चाहते हैं. और फिर - चलो देखते हैं. मैं अब देखने में हूँ, और मैं बदल सकते हैं नीले रंग के लिए पृष्ठभूमि. और हां, नोटिस, यहाँ, इस ड्रॉप डाउन मेनू भी आप सभी का एक पदानुक्रम देता है इन वस्तुओं की. इसलिए एक महत्वपूर्ण बात है, यहाँ नोट करने के लिए है कि यहां इन सब बातों का, - इस तालिका देखें नियंत्रक, मेज देखें, तालिका दृश्य अनुभाग, तालिका देखें सेल - इन के सभी कर रहे हैं कोड में, वस्तुओं. तो, आप जानते हैं, एक लेबल सही अब के अधीन है सामग्री देखें, वगैरह. इतने पर और बहुत आगे है. तो, हम इस कोड चलाते हैं, हम कुछ देखना चाहिए - इस चलो देखते हैं अगर - हाँ. तो, हम वहाँ जाते हैं. लेकिन, हम ऐसा नहीं करते हैं, तो कोई नहीं इन अन्य चीजें काम करते हैं. है ना? तो केवल इस एक काम करता है. और, समय की खातिर, मैं नहीं होगा डाल, तुम्हें पता है, में जाने अन्य लोगों को नीचे. और इस का अंत है, एक तरह से, स्टोरीबोर्ड - मैं दिखाना चाहता था क्या स्टोरीबोर्ड के लिए आप. और, मैं एक बाहर काम उदाहरण है, वास्तव में, यहीं. तो, यह स्टोरीबोर्ड है मैं पहले से बना है. आप देख सकते हैं तो, यह था मेरे नेविगेशन नियंत्रक. तब मैंने अपना पहला दृश्य नियंत्रक था, तब मैं अपनी तालिका दृश्य नियंत्रक था, और फिर मैं इन सब की थी - इसलिए इससे पहले, मैं कर रहा था बहुत कुछ अलग. तो, उन बातों को बहाना. मैं शायद बाद में इससे पहले यह साफ कर देंगे मैं उत्पादन करने के लिए इसे बंद कर भेजें. हम इस दौड़ लेकिन, अगर हम देखेंगे विकल्पों में से सभी कर रहे हैं कि हमारे लिए उपलब्ध. मैं पृष्ठभूमि नहीं बना था सिवाय उन रंगों. तो, अच्छा साधारण आवेदन. अब, चलो निपटने के लिए कोशिश करते हैं इस प्रोग्राम के रूप में. ठीक है. इसलिए, कि क्या करना है, हम बस जा रहे हैं एक नई Xcode परियोजना शुरू करने के लिए. हम अब यह एक खाली आवेदन कर दूँगा हमारे पास नहीं करना चाहते क्योंकि स्टोरीबोर्ड. तो, मैं बस अपने आप को नहीं सीमित रहा हूँ स्टोरीबोर्ड के किसी भी है, और एक का उपयोग करें खाली आवेदन नहीं करेंगे मुझे एक स्टोरीबोर्ड दे. इस बस को रोकने के लिए है धोखाधड़ी से अपने आप को. चलो देखते हैं. रुको. मैं था - हां. ठीक है. ठीक है. तो, यहाँ, हम साथ रह रहे हैं वरना लेकिन कोड में कुछ भी नहीं. तो, मुझे इस विंडो को ले जाने थोड़ा अधिक. ठीक है. आप यहाँ देख सकते हैं, केवल फाइलें हम दी रहे हैं AppDelegate.h और डॉट मी, और हमारे पास नहीं है अब और स्टोरीबोर्ड. हम इस दौड़ तो, अगर हम अभी भी करने जा रहे हैं सफेद स्क्रीन करने के लिए मिलता है, भगवान का शुक्र है. ठीक है - सफेद स्क्रीन, लेकिन कुछ नहीं. और, यहाँ महत्वपूर्ण हिस्सा है. कार्रवाई होता है जहां यह है. पिछले संस्करणों में, वहाँ आम तौर पर कोई यहाँ कोड है, लेकिन स्टोरीबोर्ड अनिवार्य रूप से प्रदान करता है इस भाग के लिए कोड. मैं कैसे पर विस्तार में नहीं जाना होगा. और क्या हम अब क्या करना चाहते है कि हम चाहते हैं, है इस छोटे से अंतरिक्ष में यहाँ जाना है, और करने के लिए फिर हमारे app बनाने शुरू होता है. तो - हाँ? दर्शक: ज़ूम? RHED शि: ज़ूम. यकीन है कि, हाँ. ठीक है. मैं तो यह नहीं करना चाहिए, टाइपिंग हो जाएगा बात बहुत ज्यादा. ठीक है. तो, सबसे पहले, हम बनाना चाहता था याद एक नेविगेशन नियंत्रक, सही? और यह भी, आप यहाँ देख सकते हैं, Xcode का एक बहुत अच्छा काम करता है स्वयं भरने. तो, अगर आप ध्यान देंगे, नामों में से सब कुछ एक बहुत लंबे समय से कर रहे हैं हमेशा की तरह, लेकिन Xcode आप के लिए उस में भर जाता है. तो मैं बस दर्ज दबा सकते हैं. तो, मैं एक यूआई नेविगेशन बनाना चाहते हैं नियंत्रक सूचक, और मैं यह कह सकते हैं navigationController. अब, मैं अब क्या करूँ? इस बराबर चिह्न के बाद, मैं, पहले, करने की आवश्यकता स्मृति के अंदर बनाते हैं. तो, मैं NavigationController क्या करने जा रहा हूँ alloc - इसलिए, इस malloc के समान है, कि तुम सी में इस्तेमाल लड़के - और फिर, मैं इसे प्रारंभ करने जा रहा हूँ. इसलिए, यह वास्तव में महत्वपूर्ण है कि किसी भी आपके द्वारा बनाई गई वस्तु, आप करना चाहते हैं alloc और यह init. यही कारण है कि इसे बनाने के लिए जा रहा है और है स्मृति के अंदर यह instantialize, और अब आप इसका इस्तेमाल कर सकते हैं. सब ठीक है? यदि आप ऐसा नहीं करते हैं, अपने उद्देश्य करता है मौजूद हैं, और आप एक गुच्छा में भाग लेंगे नहीं समस्याओं की. और फिर, मैं बनाना चाहते हैं एक दृश्य नियंत्रक, सही? तो, मैं एक UIViewController बनाना चाहते हैं सितारा - इसलिए, हर चीज में एक सूचक है उद्देश्य सी, और मैं क्या करने जा रहा हूँ कुछ इसी तरह की, यहां - alloc, init. ठीक है. और फिर मैं क्या करने जा रहा हूँ मैं कर रहा हूँ, है जा - हमने किया तो, जब याद नेविगेशन नियंत्रक में एम्बेड? यह आपको कोड में इसे कैसे करते है. आप navigationController क्या करने जा रहे हैं pushViewController - दर्शक: [सुनाई]. यह हमारे लिए हो, या -? RHED शि: ओह, हाँ. नहीं. यह बेहतर मुझे पसंद करती है. नहीं, यह तुम्हारे लिए भी काम करेंगे. तो, इन सभी तरीकों हैं. तो pushViewController एक विधि है, और इसके अलावा, अधिक विशेष रूप से, यह एक है यूआई का उदाहरण विधि नेविगेशन नियंत्रक. मैं अपने यूआई नेविगेशन बनाने के लिए किया था क्योंकि नियंत्रक सितारा, और फिर मैं पर इस pushViewController कॉल कर सकते हैं मेरे एक यूआई नेविगेशन का विशिष्ट उदाहरण नियंत्रक. दर्शक: हम सटीक क्या करना है करो शब्द, या यह पहले से ही इसके लिए मौजूद है? RHED शि: हाँ, यह एक तरीका है क्योंकि. यह एक समारोह की तरह है. यह printf की तरह है. यह scanf की तरह है. यह strcompare की तरह है. यह आप के लिए चाहते हो सकता है क्या जानता सिवाय टाइप करें, और सूचना है कि यह हमेशा हूँ चीजें हैं जो के साथ आए कानूनी तौर पर आप के लिए अनुमति दी. तो, यहाँ कुछ नहीं पता चलता है, तो कुछ गड़बड़ है. तो, pushViewController. तो, अब, मैं धक्का करना चाहते हैं मेरे नव निर्मित UIViewController, और तब, एनिमेटेड - शायद नहीं. इस होने जा रहा है क्योंकि पहला दृश्य नियंत्रक. मैं, मैं एनिमेटेड बना था, भले ही इसका मतलब यह शायद दिखाई नहीं देंगे क्योंकि यह पहली स्क्रीन है. और कोष्ठक याद है. तो, हम कोष्ठक इस्तेमाल किया याद है कैसे? और कोष्ठक के अंदर, वस्तु एक विधि पर कॉल - इसलिए हमारे वस्तु नेविगेशन है नियंत्रक, और विधि एक धक्का है देखें नियंत्रक एनिमेटेड. और यह दो तर्क में लेता है कैसे देखते हैं, और वे, की तरह से अलग कर रहे हैं शब्द, और एक पेट के. तो, उद्देश्य सी यह अच्छा बनाने की कोशिश करता है और आसान तुम बाहर जोर से पढ़ने के लिए - अपने कोड - और अर्द्ध यह है, एक तरह से, मतलब. हालांकि, अभी यह कर पर्याप्त नहीं है. मुझे अब बाहर ज़ूम करते हैं. सिर्फ ऐसा करने के लिए पर्याप्त नहीं है हम पहले से करने के लिए मिला क्या मिलता है. यहाँ तो, आपको लगता है कि वहाँ पर ध्यान देंगे वास्तव में किसी भी प्रकार का होने वाला नहीं यहाँ, बार, सही? कोई नेविगेशन पट्टी, जिसका अर्थ है वहाँ हम अभी भी यह नहीं मिल गया है कि. और हम हैं कि बाहर का परीक्षण कर सकते हैं, भी, से, शायद, की पृष्ठभूमि बदल रहा है ViewController, सही? ViewController.background - आह. तो, ViewController नहीं था देखने के लिए कैसे एक पृष्ठभूमि रंग, भले ही मैं इसे उपयोग करना चाहते थे? और वह है क्योंकि ViewController देखने के लिए एक कंटेनर है. इसलिए, यह एक संपत्ति है जो फिर एक पृष्ठभूमि रंग है. और, मैं एक तरह से tediously, यह निर्धारित कर सकते हैं, रंग फोन करके UIColor वस्तु पर. तो, यहाँ नोटिस, redColor एक विधि है. यह UIcolor के एक वर्ग विधि है. मैं एक बनाने के लिए नहीं था क्योंकि आदेश में एक UIColor का वास्तविक उदाहरण इस पर विधि कॉल करने के लिए. मैं तो बस, बस, यह कहा जाता है प्रकार की तरह नाम पर. INT था मैं, जैसे,,, INT पर यह कहा जाता है जैसे, उदाहरण के लिए यह करने के लिए एक विधि,. हम इस कोड को चलाने और अगर ऐसा है, तो, हम करेंगे पृष्ठभूमि है कि नोटिस वास्तव में लाल नहीं. यह अभी भी सफेद है. और कैसे हम यह है कि आसपास मिल सकती है self.window कैसे वहाँ नोटिस. यही कारण है, जैसे, परम कंटेनर है अपने आवेदन के लिए. यह होता है कि परम बात है एक के लिए स्क्रीन पर सब कुछ, iPhone या iPad आवेदन. और, सुविधा, self.window कहा जाता है इस संपत्ति है rootViewController. और उस के लिए सूचक होने जा रहा है अंदर बहुत पहले दृश्य नियंत्रक अपने अनुप्रयोग की. तो, हम यहाँ क्या करना चाहते हैं, अब, है हमारे कन्टेन्ट कि बराबर सेट करने के लिए नियंत्रक. है ना? तकनीकी तौर पर, नेविगेशन, क्योंकि नियंत्रक हमारे बहुत पहले दृश्य है नियंत्रक. यह अन्य दृश्य की एक सरणी का ट्रैक रखता है नियंत्रकों, और हम इस धक्का दिया उस सरणी में दृश्य नियंत्रक नेविगेशन नियंत्रक में. तो, आप ऐसा करना नहीं चाहता. यह वास्तव में तुम्हारी मदद नहीं करेंगे. आप क्या करना चाहते थे, यदि आप ऐसा करना चाहते हैं एक नेविगेशन नियंत्रक, जो सबसे आप शायद आप चाहते हूँ जाएगा क्योंकि की , की तरह, के कुछ प्रकार है जैसे, वापस जाने के लिए मेनू या कुछ बल्कि एक से वापस लिए जाने के लिए होमपेज खाली स्क्रीन. हाँ? दर्शक: यह असुविधाजनक है - आप पर ज़ूम करने के लिए RHED शि: हाँ. तो, हाँ. यह अब कोड है, और चलो इसे बाहर का परीक्षण करते हैं. तो, हम वहाँ जाते हैं. जादू. तो, ठीक है. धन्यवाद. ठीक है. , तो - तो अब, क्या हम करना चाहते है हम किस तरह के अधिकार, यहाँ, सीमित कर रहे हैं? हम संभवतः सब कुछ लिख सकता है इस एक समारोह के अंदर. लेकिन, कि कैसे आईओएस विकास नहीं है आम तौर पर काम करता है. तो, हम क्या करने जा रहे हैं हम कर रहे हैं, है कुछ नई फ़ाइलें बनाने के लिए जा रहा है. लेकिन, अधिक विशेष रूप से, हम करने जा रहे हैं एक और उद्देश्य सी वर्ग बनाने, या एक और वस्तु - वर्ग और वस्तुओं विनिमेय हैं यहाँ. और, यहाँ संभवतः, कैसे मैं कर सकता है, यू नियंत्रकों की एक और वर्ग बना. आप ध्यान देंगे तो, जैसा कि यह एक उप वर्ग है यहाँ, इसके बारे में एक उप वर्ग है यूआई दृश्य नियंत्रक, लेकिन मैं कर सकता हूँ यहां किसी अन्य नाम कहते हैं. मैं इस CS50 कह सकते हैं, मैं कह सकते हैं इस दृश्य नियंत्रक, मैं कह सकते हैं इस बकवास दृश्य नियंत्रक - मैं चाहता हूँ कि कुछ भी. इस वर्ग के लिए सिर्फ नाम है. हालांकि, यह महत्वपूर्ण होने जा रहा है अनिवार्य रूप से, मैं क्या कर रहा हूँ, क्योंकि यहाँ है, मैं निर्माण कर रहा हूँ एक और वर्ग के नाम. इसलिए, यह कुछ, जैसे, होने जा रहा है प्रकार या एक वस्तु की तरह. इसलिए, यह एक छोटा सा सामान्य होना चाहिए. यह बहुत विशिष्ट होने के लिए नहीं जा रहा है. और यह भी, मैं बात करना चाहता है इन दो विकल्पों के बाहर. हम के अंदर सब कुछ कर रहे हैं क्योंकि कोड, कभी कभी यह एक बहुत आसान है ऐसा है कि, एक इंटरफेस फ़ाइल में लाने के लिए मैं सचमुच खींचें और रूप में, छोड़ सकते हैं हम स्टोरीबोर्ड के साथ पहले किया था - तुम्हें पता है, एक लेबल, या एक बटन, या जो कुछ भी. और हां, तो xibs के लिए आप की अनुमति है कि फाइल कर रहे हैं आप इसे हुक करने के लिए है कि है, और इस दृश्य नियंत्रक फाइल करने के लिए. तो, मैं जान - बूझकर करने जा रहा हूँ इस जाँच नहीं. आमतौर पर मैं इस जाँच, और अगर होगा मैं केवल मैं, iPhone या iPad के लिए ऐसा किया इस जाँच और केवल एक होता के लिए, यदि आप iPhone या iPad पता है. मैं यूनिवर्सल कर रहा हूँ लेकिन, जब से मैं जा रहा हूँ बाद में उन में से दो को बनाने के लिए. तो, मैं जान - बूझकर करने जा रहा हूँ इस अचयनित. यह भी बहुत महत्वपूर्ण है. आमतौर पर, मैं कीड़े लिया है इस जाँच नहीं की थी. और हां, तो जाहिर है, यह फ़ाइल नहीं है, एक तरह से, जैसे, शामिल है या आयातित इस परीक्षण फ़ोल्डर के अंदर. और हां, मेरे कोड बिल्कुल पता नहीं है इस फाइल के अस्तित्व, और की कि बहुत दर्द का कारण बनता है और डिबगिंग के घंटे. लेकिन, सिर्फ यकीन है कि यह तो जाँच की है बनाने कि, आप जानते हैं, इस बात का लक्ष्य फ़ाइल इस आवेदन के लिए है. ठीक है. तो, अब हम दो नए फाइल बना लिया है. और इन फ़ाइलों सुंदर खाली लग रही है. और, वास्तव में, चलो भी जारी xib फ़ाइलें बनाने के द्वारा पर. तो, इससे पहले, मैं में था कोको टच ड्रॉप डाउन. अब, मैं उपयोगकर्ता में जाने के लिए जा रहा हूँ इंटरफ़ेस स्पर्श, और आप देख सकते हैं, मैं एक स्टोरीबोर्ड बना सकते हैं. तो, यहां तक ​​कि मैं एक खाली साथ शुरू आवेदन, मैं अभी भी उपयोग कर सकते हैं एक स्टोरीबोर्ड. यह संदर्भ में मुश्किल हो जाता है, हालांकि आप कनेक्ट करना चाहते हैं कि कैसे की कि अपने कोड के लिए. तो, मैं वहाँ नहीं जाना होगा. लेकिन, क्या हम करना चाहते हैं अब एक दृश्य बना है. और आप के लिए चुन सकते हैं एक iPhone या एक iPad. और आम तौर पर निरूपित करने के लिए अंतर - आप एक कर रहे हैं सार्वभौमिक आवेदन - आप एक अंडरस्कोर iPhone डाल दिया है, या तो या आप एक Twiddly कर सकते हैं. यह वास्तव में कोई फर्क नहीं पड़ता. आप को अलग करने के लिए यह बस है देखें जो डिवाइस के लिए है जो. और हां, अब देखो. मैं मैं के साथ काम कर सकते हैं कि एक स्क्रीन है. और हां, उदाहरण के लिए, मैं एक लेबल डाल सकते हैं यहाँ पर, तुम्हें पता है, और मैं भी डाल सकते हैं यहाँ एक और बटन. मैं बदल रहा परेशान नहीं करेगा यहाँ मूल्यों. लेकिन, क्या महत्वपूर्ण यहाँ है उस फ़ाइल के मालिक - इसलिए, मैं iPhone के अंदर हूँ देखें, iPhone xib फ़ाइल. और नीचे इस नेविगेशन क्षेत्र में या ड्रॉप डाउन मीनू, मैं करने के लिए जाना चाहते फ़ाइल के मालिक. और यह सच है यहां महत्वपूर्ण कदम है. मैं वर्ग दृश्य बनाना चाहते नियंत्रक, इस xib फ़ाइल है कि इतना के साथ जुड़े होने के लिए जा रहा मेरे विचार नियंत्रक. और मैं अपने दृश्य के अंदर ऐसा कुछ भी है कि नियंत्रक को प्रोग्राम है यहां पर परिलक्षित हो रहा है. तो, हालांकि, सूचना है कि - वास्तव में, चलो इस दृश्य बनाते हैं उदाहरण के लिए पृष्ठभूमि नीला,. या हरी. और फिर, तो आप वापस में, नोटिस हूँ अगर हम करने के लिए मिला है, जहां इस कोड, यह है हमारी नेविगेशन नियंत्रक. हम उस कदम था, हालांकि यह है अभी भी हरे, लाल नहीं होने जा रहा. और वहाँ एक कारण है. हम inited जब, यह है क्योंकि हमारे विचार नियंत्रक, यहां - क्षमा करें, यह एक छोटे से पागल है - हम, हमारे यहाँ देखें नियंत्रक inited जब हम सामान्य प्रकार का यह inited UIViewController. ठीक है? तो हम भी ऐसा नहीं किया इस वर्ग के साथ यह. तो यह अब एक वर्ग की तरह है, याद है. यह बस, एक प्रकार के रूप में सोचा जा सकता है UIViewController एक प्रकार के रूप में है. और उस का उपयोग करने के लिए, क्या हम क्या करने की जरूरत है इसे आयात है - आयात ViewController - और, आप देख सकते हैं, यह मेरे लिए यह autofills. तो, ViewController - और अब, यहाँ, मैं इसे बदल सकते हैं ViewController को UIViewController. और अब, यहाँ, मैं बदल सकते हैं इस ViewController के लिए. चलो फिर से इस चलाते हैं. यह अभी भी लाल है. और यह है कारण अभी भी लाल है क्योंकि - Woah, वहाँ क्या हुआ? हम इस xib संबद्ध करना चाहता था दृश्य नियंत्रक के साथ फाइल. हालांकि, वास्तव में क्या करने के क्रम में कि, हम इस में जाने की जरूरत है. हम init करते और जब हम करना चाहते हैं initWithNibName, और फिर हम करना चाहते हैं पर स्ट्रिंग View_iPhone करते हैं, उदाहरण के लिए. आप यहाँ बंडल अनदेखा कर सकते हैं. और यह अनुमति देने के लिए जा रहा है हमें वास्तव में, को - उह ओह, वहाँ एक समस्या है. ठीक है. और हां, तो वहाँ एक समस्या है, क्योंकि हमारे विचार xib फ़ाइल, हम एक लेबल और हम एक बटन है. हालांकि, हम जुड़ा है, भले ही उन दोनों के अंदर कुछ भी नहीं है ViewController.h या ViewController.m उन को प्रतिबिंबित बटन या उन लेबल. तो, हम के रूप में उन लिखने की जरूरत देखें नियंत्रक के गुण. तो, यह आप की घोषणा कैसे है एक संपत्ति. यह आमतौर पर, में ले जाता है इन दो विकल्पों. हमें और इस संगोष्ठी के प्रयोजनों के लिए, मैं सामान्य रूप में, लोग कहते हैं कि सबसे अधिक संपत्ति nonatomic हैं और बरकरार रहती है. आप गूगल खोज से पढ़ सकते हैं, तुम्हें पता है, के बीच का अंतर nonatomic और, आप पर बनाए रखने के , गूगल या कुछ पता है. और मैं ढेर, जैसे, के लिए ले जाऊँगा लोगों को होगा, जहां अतिप्रवाह, मतभेदों के जवाब उन दोनों के बीच. लेकिन अब के लिए, कि क्या हम के साथ संबंध होना चाहते हैं. और हम, एक यूआई लेबल, स्टार बनाना चाहते और हम जो हम चाहते है कि यह कॉल कर सकते हैं. हम, आप जानते हैं, लेबल इस कॉल कर सकते हैं. और, हम एक और बना देंगे बटन के लिए एक. और तारांकन शामिल करने के लिए याद है, हम संकेत के साथ काम कर रहे हैं, क्योंकि बहुत ज्यादा हर जगह के अंदर के उद्देश्य सी. हालांकि, कि अभी भी हल नहीं होगी आप यहाँ देख सकते हैं समस्या,. और कारण है, क्योंकि जब भी हम एक xib फ़ाइल लेबल या एक कनेक्ट करना चाहते हैं कार्यक्रम के लिए बटन, या शीर्ष लेख और कार्यान्वयन फ़ाइल, हम चाहते हैं कोड के इस टुकड़े जोड़ - आउटलेट. यह एक महत्वपूर्ण शब्द है कि नोटिस. और, जैसे ही मैं टाइपिंग खत्म कि बाहर, यह इन होना चाहिए दो हलकों, यहाँ. आमतौर पर, वे अंदर कोई टिप्पणी नहीं कर रहे हैं मुझे लगता है वे क्यों कर रहे हैं यकीन नहीं है. लेकिन आम तौर पर, आप करने के लिए मैन्युअल रूप से होगा के इस पक्ष पर जाकर उन्हें कनेक्ट उपयोगिताओं क्षेत्र. और हां, अब ठीक है, मैं अपने लेबल मिल गया है चयनित, और मैं इस नए खींचना चाहते हैं , मेरी फाइल के मालिक के आउटलेट संदर्भित और तब लेबल पर क्लिक करें. तो अब, अंत में, इस लेबल है इस लेबल से जुड़ा हुआ है. और इस लेबल हम करने जा रहे हैं बदल प्रोग्राम का उपयोग अपनी पाठ, इसके फ़ॉन्ट, इसकी पृष्ठभूमि रंग, वगैरह. तो, हम क्यों नहीं करते बटन के लिए एक ही? और अगर आप ध्यान देंगे, बटन के लिए, यह एक छोटे से अधिक जटिल है. मेरा मतलब है, क्योंकि, आप चाहिए रहे हैं एक बटन पर प्रेस, तो यह एक बहुत मिल गया है कैसे उपयोगकर्ताओं के लिए विकल्प की एक बटन पर प्रेस कर सकते हैं. और फिर, हम उस पर बाद में देख लेंगे हम करने के लिए इस कनेक्ट कर सकते हैं हमारे यह काम करने के लिए कोड. तो, अब भले के लिए, हम कनेक्ट करना चाहते हैं यह वास्तविक बटन को हमारे कोड के अंदर. इसलिए हम नए संदर्भित आउटलेट के लिए जाना और फिर बटन करते हैं. अब, हम फिर से इस चलाते हैं. उह ओह. ठीक है. मैं अब यहां क्या हो रहा है पता नहीं है. वाह. यहाँ बस एक पल,. दरअसल, यही कारण है कि हम एक नहीं लेते में एक और उदाहरण देखें समय का ब्याज. ठीक है. तो, यहाँ और अधिक आसानी से तैयार है ViewController के लिए उदाहरण. आप यहाँ देख सकते हैं, मैं शामिल किया है के लिए गुण लेबल और बटन. और फिर, कोड के इस टुकड़े को यहाँ - इस IBAction - यहाँ इस बटन के लिए एक कनेक्शन था. आप यहां टच अप के अंदर देख सकते हैं चयनकर्ता से जुड़ा है कहा जाता बटन दबाया. तो, हम वास्तव में के माध्यम से जा सकते हैं प्रस्ताव फिर, यहाँ, टच लेकर अंदर और इसे खींचने के लिए फिर फ़ाइल का मालिक है, और बटन दबाया पर क्लिक करें. अब, हम हमारे कोड चलाते हैं. तो अब, इस बटन अब काम करता है और अगले पृष्ठ पर ले जाएगा. और, हमारे दृश्य नियंत्रक के संदर्भ में, इस लिया कि कोड का टुकड़ा है बटन दबाया की परवाह है. और यह यहाँ ध्यान देना महत्वपूर्ण है कि मैं देखने की एक अन्य प्रकार बनाया है नियंत्रक एक मेज बुलाया देखें नियंत्रक. तो, इस में वापस करने के लिए समान था स्टोरीबोर्ड, मैं से एक घसीटा जब इन तालिका दृश्य नियंत्रकों स्टोरीबोर्ड में. मैं एक और बना रहा हूँ तालिका दृश्य नियंत्रक करने के लिए सूचक, alloc और यह init हैैं, और फिर कर स्वयं डॉट नेविगेशन नियंत्रक, ViewController धक्का, इस नए ViewController. और मुझे लगता है, हाँ करने के लिए एनीमेशन निर्धारित किया है क्योंकि अब मेरे app, और मैं के अंदर वास्तव में एनीमेशन जा देखना चाहते हैं होम पेज से मेज पर देखें नियंत्रक. दर्शक: आप अभी भी चिंता करो कचरा संग्रहण के बारे में? RHED शि: वह क्या है? नहीं. तो, सवाल आप की क्या ज़रूरत थी, कचरा संग्रहण के साथ काम करने के लिए? तो, Xcode 4 है, जो एआरसी की तरह था स्वचालित संदर्भ गिनती. और हां, तो आम तौर पर आप एक नया शुरू करने के समय परियोजना, तुम, कि जाँच करेगा क्योंकि कोई भी वास्तव में के साथ सौदा करना चाहता है स्मृति और सामान को मुक्त. लेकिन मैं XCode 5 में, यहाँ तक कि वहाँ नहीं है नई परियोजना पर उस विकल्प. इसलिए, यह स्वतः आप के लिए करता है. हाँ? दर्शक: तुम एक निर्यात कर सकते हैं अपने स्टोरीबोर्ड में पीडीएफ? RHED शि: हाँ, निश्चित रूप से. तो, इन सब में शामिल किया जाएगा स्रोत कोड, तो तुम लोग बाहर की जाँच कर सकते हैं इसके लिए वास्तविक Xcode परियोजना. हाँ? दर्शक: लेकिन, मैं मैं की तरह कर सकते हैं मतलब मेरे स्टोरीबोर्ड के साथ एक पीडीएफ प्रिंट? मैं सिर्फ निर्यात करना चाहते हैं किसी को दिखाने के लिए छवियों. RHED शि: ओह, हाँ. मैं आपको सिर्फ यह कर सकते हैं, हो सकता है, आपको लगता है एक स्क्रीन शॉट ले. हाँ, और उन्हें एक स्क्रीन भेजना शॉट या कुछ और. हाँ. तो, चलो देखते हैं. समय के हित में, मुझे लगता है कि कि सभी एल आज कवर कर सकते है. लेकिन, मैं तो बस, वास्तव में, कि पता मुश्किल से आईओएस की सतह को छूने विकास. तो, मुझसे संपर्क करने के लिए स्वतंत्र महसूस कृपया अगर आप आईओएस के बारे में कोई प्रश्न हैं, विकास. और, उम्मीद है, मैं साफ करने में सक्षम हो जाएगा स्रोत के लिए कोड के कुछ ऊपर कोड फ़ाइलों, आप कुछ करना होगा कि इतना साथ काम करने के लिए वास्तव में अच्छा उदाहरण हैं. उसके अलावा, आप लोग जा रहे हैं CS50 Hackathon के लिए, मैं कर सकते हैं या हो सकता है वहाँ हो, और मैं मदद नहीं कर सकते कुछ IOS के विकास के साथ भी है. तो, बहुत बहुत धन्यवाद, दोस्तों.