>> TIANYU LIU: مهلا، كيف ل هو يذهب الجميع؟
وهذا هو التطبيق دائرة الرقابة الداخلية برمجة موضوعية ج الندوة.
واسمي تيانيو ليو.
أنا الابن لويل في الوقت الراهن، التركيز في علوم الكمبيوتر.
حتى في هذه الندوة أنا الذهاب ليعلمك الرجال
قليلا عن كيفية جعل التطبيق.
ياي، والحصول على متحمس لذلك.
>> حتى قبل أن تبدأ حتى الغوص في الجانب البرمجة الفعلية،
دعونا فقط حقا بسرعة الحديث عن لماذا قد ترغب في بناء تطبيق iOS؟
لماذا دائرة الرقابة الداخلية رهيبة جدا؟
وبالتالي فإن مشكلة الأولى، أول الشيء الذي هو رائع جدا بالنسبة لنا،
خاصة أن CS50 طالب، هو أن دائرة الرقابة الداخلية
يستخدم الهدف C. حسنا، هناك لغة جديدة تسمى سويفت،
لكننا لن استخدام ذلك في هذه الندوة.
إذا كنت مهتما في سويفت، هناك هو ندوة مستقلة عن ذلك.
ولكن الهدف C هو في الأساس مجموعة شاملة من C. معنى
أن كل شيء تستخدمها في C يمكن أن تترجم إلى الهدف C
بسهولة جدا.
>> كما قد نرى لاحقا، أن الواقع هناك بعض الجملة الأساسية جدا، هي
في الأساس نفسه تماما، C والهدف C. لذا،
منذ كنت قد اتخذت CS50 يصل إلى هذا الحد، وكنت بالفعل
تعرف الهدف C، 40٪ على الأقل.
أيضا، أبل لديها حقا API قوي لدائرة الرقابة الداخلية.
هناك الكثير من الجنون حقا الأشياء التي يمكنك القيام به.
واحد منها هو شخص خلقت في الواقع التطبيق دائرة الرقابة الداخلية
للسيطرة على السيارات، والتي من المثير للاهتمام جدا.
ربما طائرة هليكوبتر هي أكثر إثارة.
ولكن هذه هي الطريقة قوية يمكن أن يكون API دائرة الرقابة الداخلية.
>> وكما قد تكون لديكم أحسب الآن،
الفائض المكدس هو على الارجح واحدة من الموارد على الانترنت أهم
المتاحة لك.
والخبر السار، على كل مشكلة واحدة يمكنك ربما
التفكير في حين أن بناء الخاصة بك المشروع النهائي في الهدف C،
ومن المرجح هناك إجابة كومة تجاوز.
انها مجرد رهيبة.
بالإضافة إلى ذلك، دائرة الرقابة الداخلية هو حقا منصة
حيث يمكنك الوصول ضخمة الجمهور مع القليل من الجهد.
انها ليست مثل الروبوت، حيث كل شيء على ما مجزأة جدا.
>> كل شيء دائرة الرقابة الداخلية غير موحدة.
وطالما أنك خلق التطبيق لاي فون،
يمكنك بسهولة جدا المنفذ الذي لباد، آي باد ميني، أو أحجام مختلفة فون.
وهذه كلها مريحة حقا.
وانها مجرد جيدة حقا لإقناع أصدقائك.
يمكنك مجرد عقد اي فون وتخبر صديقك مهلا،
هذا هو التطبيق أجعل.
يمكنك أن تفعل ذلك لأي تطبيقات سطح المكتب، التي هي لطيفة.
>> كل الحق، الآن دعونا الحصول على الواقع إلى اللغة الهدف C.
فلماذا لا نبدأ مع بعض الجملة الأساسية حقا.
كما ذكرت من قبل الهدف C انها في الاساس مجموعة شاملة من C.
لذلك الكثير من تركيب الأساسية هي في الواقع بالضبط نفس الشيء.
إعلان متغير و اضافة الى اثنين من المتغيرات معا
هو بالضبط كما فعلنا في ماريو.
لا جديد هنا.
>> وبالمثل، فإن مستأجر للحلقة والشرط هو أيضا نفس الشيء.
يمكنك أن تفعل لحلقة تماما كما كنت وقد فعل في ماريو [غير مسموع].
ويمكنك أن تفعل الشروط تماما كما ما كنت
وقد تم القيام في مجموعات بك ص السابقة.
ومع ذلك، الهدف C ليس تماما C،
وهناك شيء ما هو نوع من غريب حول هذا الموضوع.
>> أولاهما أنه عندما كنت القيام البرمجة C، يمكنك استدعاء عادة
تشمل وبعد ذلك اسم المكتبة.
ولكن في الهدف C استدعاء أن الاستيراد.
في الأساس قائلا ظائف، أسماء مختلفة تماما.
وسلاسل هي في الواقع قليلا غريب.
يمكنك أن ترى أن أول الشيء الذي هو نوع من غريب
غير أن لديك weird-- جدا sorry-- لديك NS غريبة جدا
توقيع أكثر من هنا.
والشيء الثاني هذا النوع من غريب
وكان لديك علامة قبل معلنا في الواقع السلسلة.
لذلك في إشارة تعني في الأساس أن سلسلة ليست سوى سلسلة،
هو في الواقع كائن.
ونحن في طريقنا لشرح في وقت لاحق حتى لا
الذعر إذا لم تفعل ذلك فهم ما يعنيه ذلك.
والطباعة إلى وحدة التحكم هو قليلا يختلف لأنه في C نسميه printf،
ولكن في الهدف C نسميه (غير مسموع).
>> هل يمكن أن يتساءل ما هو هذا.
وهذا هو الأساس printf، مجرد لغة مختلفة.
بالضبط نفس الاستخدام، بالضبط نفس الوظيفة.
كذلك اتضح أن موضوعي C الواقع
لديه نانوثانية البادئة في تقريبا كل شيء، كل نوع البيانات الأساسية،
nsstring، nsarray، nsdictionary.
والسبب هو أن نانوثانية تقف فعلا للخطوة التالية،
وهي الشركة التي ستيف جوبز قد تأسست،
والتي هي شركة حيث ولدت اللغة الهدف C.
لذلك هذا هو أساسا التقليد.
وأنا أعلم أنه قليلا غريب، لكنه أبل.
>> لذلك ما هو حتى أغرب من ذلك هو إعلان وظيفة.
هذا يختلف جدا عما نحن نرى في C، لأنه هنا فعلا
لا تبدو C بعد الآن.
ما لديك here-- من قبل الطريقة هذه ليست النقطة،
هذا هو علامة ناقص.
لديك قوسين علامة الطرح الفراغ ثم اسم الدالة.
دعنا نقول فقط إذا كنا يكون مرحبا العالم، ثم
ان نوع العودة تكون باطلة لنعود شيئا.
>> ما يحصل غريب حقا هو أنه عندما كنت
وجود أكثر من معلمة يمر في وظيفة نفسها التي
سيكون غريب حقا كما هو موضح هنا.
لدينا اسم الأسلوب، دعا addInt ل[غير مسموع]
ونحن تمرير معلمة واحدة.
ولكن بعد ذلك، لدينا المزيد من اسم استدعاء الأسلوب مع.
وبعد مع اننا يمر المعلمة الثانية.
هذا هو في الواقع غريب قليلا، ولكن كل هذه التصريحات وظيفة
اتبع نفس نمط هذا.
>> لدينا علامة ناقص لتبدأ.
علامة الطرح يمكن أن يكون علامة الجمع تستند أحيانا على أي نوع من طريقة
هو عليه.
الطريقة هي الأساس اسم آخر للوظيفة.
ونحن في طريقنا ل شرح ذلك لاحقا عندما
نحن نتحدث عن كائن البرمجة الموجهة.
عليك أولا تحديد عودة اكتب بين قوسين في الداخل،
وبعد ذلك يأتي اسم الأسلوب.
كنت تمرير معلمة واحدة.
وإذا كان لديك أكثر من المعلمات كنت بحاجة لتمديد اسم الأسلوب
وأساسا أكتب شيئا أكثر هنا.
>> يمكن أن يكون أي شيء تريده.
في حالتنا انها مع.
ولكن هل يمكن القول النهاية، أو، أو، أو اي بي سي شريط كامل، كل ما تريد.
ثم بعد ذلك كنت يمر المعلمة ب.
هذا هو غريب حقا اتفاقية لكننا
سنرى ماذا يريد أبل للقيام بذلك بسرعة كبيرة.
فكيف تسمون وظيفة؟
استدعاء دالة في الهدف C يختلف أيضا عن C.
>> في الواقع، داعيا ل وظيفة في الهدف C
هو أشبه كنت تتحدث إلى شخص ما.
هنا لدينا المصير، الذي ويسمى كائن.
كنت في الأساس نقول لل الاعتراض النفس لتقول "مرحبا العالم!"
هذه هي الطريقة لاستدعاء الدالة.
كائن واسم الأسلوب جنبا إلى جنب مع بعضها البعض.
وهذا هو المكان تمديد غريب لاسم الأسلوب يأتي حقا في اللعب.
>> دعونا ننظر في المثال الثاني.
نحن فقط تعريف طريقة تسمى addInt مع بلاه بلاه بلاه.
حتى في هذه الحالة عندما كنت تتصل أن [معين؟ الرسالة؟] انه سيكون
لتبدو وكأنها addInt الذاتي: 10 مع: 2.
هذا يبدو وكأنه الإنجليزية.
على الرغم من أن وظيفة وظيفة إعلان غريب،
نقطة في C الهدف طريقة نمط الإعلان،
هو أنه عندما كنت تتصل وظيفة أو طريقة
وسوف تبدو مثل اللغة الإنجليزية الفعلية.
لذلك فمن البديهي جدا تحصل مرة واحدة في ذلك.
>> خاصة في هذه الحالة، حيث يمكنك الأساس
نرى أن اسم الدالة هو نوع من توثيق نفسها.
أنت لا تحتاج إلى أي مزيد من التوضيح لمعرفة
بالضبط ما يحدث، ما بالضبط معلمة واحدة تفعل.
الذهاب أبعد من ذلك، دعونا نتحدث قليلا الشيء عن وجوه المنحى البرمجة.
البرمجة الموجهة الكائن هو واحدة من البرمجة الأساسية
تقنيات أو الأنماط التي هي التي يستخدمها الهدف C. الهدف C
ويسمى الهدف C، وليس C، لسبب وجيه حقا.
>> حتى قبل أن نصل إلى C تركيب موضوعي،
دعونا ننظر حقا بسرعة في بالضبط ما هو كائن.
ربما فعلناه شيء مثل الكائن قبل، والتي
ويسمى البنية عندما كنت تنفيذ شجرة أو قائمة مرتبطة
أو [؟ محاولة. ؟] لذا، فإنه من في الأساس مثل البنية،
ولكن من أقوى بكثير من ذلك.
كائن له خصائص وأساليب.
طرق هي في الأساس الوظائف.
يعمل أساسا أن محددة لكائن معين.
>> والخصائص هي الأساس الحقل الذي يحدد في البنية.
لذلك على كل كائن واحد لدينا بعض الممتلكات
أن لديه بعض المتغيرات التي هي محددة لالكائن.
ولدينا بعض الوظائف التي هي أيضا محددة إلى الكائن.
وتسمى وظائف الطرق وتسمى المتغيرات خصائص.
انها مجرد اسم نزوة.
بينما كنت الواقع، كل عرض واحد تشاهد أثناء فتح التطبيق دائرة الرقابة الداخلية،
دعنا نقول فقط تويتر أو الفيسبوك، كل عرض واحد تراه هو كائن.
وحتى التطبيق كله كائن لتبدأ.
مفهوم مثير للاهتمام للغاية.
>> وماذا نريد وجوه البرمجة الموجهة؟
لذلك يمكنك أن تتخيل أنه عند برنامج يحصل معقدة جدا.
دعنا نقول فقط عندما كنت تنفيذ رقعة الشطرنج،
المنطق هو الذهاب الى يكون معقدا حقا.
لديك 36 مختلفة قطعة، بحيث إذا كان ل
تريد أن تكتب المنطق للجميع 36 قطعة مختلفة في لعبة الشطرنج،
وهذا ما سوف يكون هناك الكثير من وظائف والمتغيرات المختلفة.
انها الكثير من المتاعب.
وربما كنت تريد الذهاب لإرسال بريد طريقة مختلفة أو وظيفة مختلفة
لكل من قطعة ل التحكم تماما ما يفعلونه.
>> ولكن إذا كنت تفعل وجوه المنحى البرمجة، كل من هذه القطع
يمكن أن تستخرج في كائن واحد واحد.
وسيكون موضوع بعض القواسم المشتركة خصائص، مثل أي نوع من قطعة
هو؟
ما لون هو؟
كيف يمكن أن تتحرك؟
وبهذه الطريقة يكون لديك بشكل كبير تبسيط المنطق منه.
حتى انها مجرد وسيلة جيدة حقا لجعل برامج معقدة،
وعلاقة هرمية ضمن البرنامج، في غاية البساطة.
ونحن ذاهبون لرؤية لماذا بسرعة كبيرة عندما
نقوم به في الواقع programming-- عندما نكون في الواقع
القيام رمز S جلسة البرمجة في وقت لاحق.
>> حسنا بالإضافة إلى ذلك، البرمجة الموجهة الكائن
هو مجرد الكثير من المرح.
كنت حصلت على تصميم الكائن الخاص بك.
كنت حصلت على تصميم ما يفعل تبدو وكأنها من قبل نفسك.
لا توجد إجابة الصحيحة لذلك.
وانها مثيرة للاهتمام تماما.
حتى في وجوه المنحى البرمجة، مفهومين أساسيين
ستكون الفئة و المثيل.
وهناك فئة هي في الأساس قالب لكائن.
ومثيل هو في الأساس كائن واحد محدد.
>> دعنا نقول فقط كنت صنع الكعكة.
في هذه الحالة، كل واحد الكوكي كنت فعلا في نهاية المطاف مع
سيكون كائن.
ولكن لوحة الكعكة التي تستخدمها لخبز سوف كافة ملفات تعريف الارتباط يكون فئة.
وهناك فئة هي في الأساس قالب.
والمثال ستكون محددة واحدة إنشاء أي كائن من تلك الفئة.
>> وسيتم إنشاء مثيل بناء على تعريف فئة،
كما سنرى في الشرائح في وقت لاحق.
لذلك دعونا فعلا حقا مثال سريع (غير مسموع).
دعونا نقول اننا إعلان كائن لقطة.
الكائن يجب have-- الطبقة القط وينبغي أن
لدينا بعض الخصائص والأساليب.
أي نوع من خصائص ينبغي لل الطبقة have-- ينبغي أن يكون القط؟
>> على سبيل المثال، اللون، العمر والسلالة، وتلك
سوف تكون المتغيرات التي خاصة بكل القط.
وتلك هي بعض الأشياء التي نستخدمها لوصف القط.
ما هو نوع من طريقة، أو ما يمكن أن القط تفعل؟
ان بعض الأمثلة السريعة يكون مطاردة الماوس، وتناول الأسماك أو مجرد مواء.
هذا هو حقا سريعة مثال على الطبقة القط.
وتحديدا حقا سوف الكائن القط يكون القط
حيث أننا تحديد اللون، والعمر والسلالة.
>> في هذه الحالة، وجوه لدينا هو لم تعد فئة بعد الآن.
نحن نسخ القالب من الطبقة و نحدده نحن كل معلومات محددة
إلى ذلك كائن معين لجعلها مستقلة.
وعندما كنت تتصل طريقة داخل كائن،
كنت مجرد دعوة مواء على الكائن، الذي هو القط الذي قمت بإنشائه.
>> ربما كنت سوف طباعة شيء من هذا القبيل "مرحبا العالم!
مواء. "
لطيف جدا.
كل الحق، دعونا فقط ندخل في بعض التفاصيل
وانظر ما تفعله بالضبط ترجمة الى حيز الوجود البرمجة دائرة الرقابة الداخلية.
حتى في دائرة الرقابة الداخلية برمجة كل واحد وسيتم تنفيذ فئة في ملفين.
ملف واحد هو هنا، والتي ويسمى واجهة.
ملف آخر هو هنا، والتي ويسمى التنفيذ.
>> عادة واجهة سوف يكون extension.h
كما رأينا في المكتبات C.
وملف التنفيذ ستكون لدينا extension.n.
انها نوع من غريب.
ولكن .N يعني في الواقع .C، وليس هناك الفرق الأساسي بين تلك
اثنين.
حتى في هذه الحالة، يمكننا أن نرى أننا أعلن واجهة، القط: الكائن.
الذي يسمى الميراث.
نحن في الأساس وراثة الطبقة القط من فئة الكائن.
لذلك كل الممتلكات والطريقة التي كان المحددة سابقا في فئة الكائن
وسيتم تحديد تلقائيا في فئة القط أيضا.
>> بالإضافة إلى ذلك، نحدد اللون، تولد، والعمر، وثلاثة متغيرات.
التي تبدو فعلا مثل شيء كنت قد فعلت من قبل.
يبدو البنية.
وهذا هو الأساس في بناء الجملة للإعلان البنية،
وهذا هو الصحيح تماما.
ومنذ ذكرتها من قبل، الفرق البنية
وكائن، واحدة من الاختلافات الجوهرية
غير أن الجسم لديه طريقة، في حين أن البنية ديه المتغيرات فقط.
وذلك بالإضافة إلى خصائص أو المتغيرات انشأنا لكائن،
نحن تحديد بعض الأسلوب.
>> دعنا نقول فقط لدينا هنا طريقتين، واحد هو مواء،
آخر واحد هو مطاردة الفأر.
أننا ربما تريد أن يمر المعلمة القائمة على أسلوبنا السابق
نمط الإعلان.
وربما كنت تريد أن تكون تمرير الماوس.
وسوف تحتاج على الأرجح لإرجاع التبيين منطقي
إذا القط لديه بنجاح القبض على الماوس أو لا.
>> هذا هو واجهة، ولكن ما نستطيع أرى أن واجهة الواقع
لا تفعل أي شيء.
ويحكي مجرد برنامج ما exists-- ما هو موجود في فئة القط.
وذلك من أجل ل برنامج لتفعل شيئا،
نحن بحاجة إلى ملفات التنفيذ.
حتى هنا، فإن أول شيء نقوم به هو من الواضح أننا نقوم باستيراد واجهة.
بعد نستورد واجهة، نحدد الأسلوب.
>> دعنا نقول فقط هنا مواء سوف طباعة للتو
"مرحبا بالعالم!" إلى وحدة التحكم.
وبعد تنفيذ ملف، سننتهي من ذلك بكثير جدا.
هذا هو الأساس فئة إعلان عن فئة واحدة.
وحتى الآن يصبح السؤال، كيف تقوم بتعريف متغير؟
طريقة استخدام فئة لخلق هو مكتوب الكائن في الهدف C هنا.
>> عليك أولا تحديد أن هذا هو مؤشر القط،
لأن كل كائن في الهدف C ويتم تنفيذ أخيرا كمؤشر.
واستدعاء الطبقة، ودعوة لهم كما الوك، الذي هو في الأساس malloc،
نقول للنظام التشغيل الذي تحتاج الى بعض مساحة الذاكرة لهذا الكائن.
بعد أن لديك كائن بالفعل وكنت للتو تمهيدها.
هذا هو اتفاقية عادلة.
وأنا أعلم أنه هو غريب قليلا، ولكن هذا هو في الواقع كيف أبل يفعل الاشياء.
>> تعيين خصائص و في الواقع بسيط جدا.
انها تشبه الى حد بعيد ما تفعلونه عندما
كنت تعيين بعض محددة المجال داخل البنية.
لديك فقط المتغير اسم، اسم الخاصية،
وتعيين قيمة محددة لذلك.
واستدعاء أسلوب مشابه جدا.
في استدعاء الأسلوب هو أساسا ما أتحدث عن
لاستدعاء أي طريقة في الهدف C.
>> كنت تمرير كائن، في هذه الحالة انها ستكون myCat،
وكنت تمرير اسم الأسلوب.
كما لو كنت تتحدث إلى الكائن، myCat، التي يجب أن مواء.
من المثير للاهتمام جدا.
بعد ذلك، هناك واحد نمط تصميم أكثر أساسي
أننا في حاجة إلى الحديث عن قبل الحصول إلى رمز S الفعلي.
ويسمى هذا النمط تصميم الحدث مدفوعة البرمجة.
وهذا أيضا هو على الارجح واحدة من أكثر الأفكار الأساسية في البرمجة دائرة الرقابة الداخلية.
>> لذلك ربما كنت لا أعرف بالضبط ما هي البرمجة الحدث مدفوعة،
ولكنها ليست حقا أن مخيفة.
حسنا في الواقع، لديك فعلت ذلك من قبل.
هذا هو واحد من خطوط قمت ربما كتبت بالفعل في الماضي (غير مسموع)
من CS50، google.maps.event.addListener (علامة،
"فوق"، وظيفة () {}) :.
من خلال الدعوة هذا الخط كنت يقول أساسا الكمبيوتر
انه كلما كان الحدث تسمى "فوق" يحدث على علامة،
استخدام تلك الوظيفة.
>> وهذا يختلف تماما عن ما تفعله في mario.c.
في mario.c كنت مجرد تشغيل البرنامج مرة واحدة، وأنه يعطي لك الإخراج،
وكنت أنت القيام به.
وهذه هي نوع من مثل احد برامج رصاصة واحدة.
الحدث مدفوعة برامج هم جدا، مختلفة جدا.
دعونا نتصور، إذا الفيسبوك هو واحد برنامج النار انها ليست جيدة حقا.
كنت مجرد الذهاب الى الفيسبوك مرة واحدة وانها فعلت.
فهو يوفر لك بعض الانتاج وأبدا كنت حصلت عليه مرة أخرى.
أنت لم يحصل على أي شيء أكثر من ذلك.
>> حتى هنا، وخاصة النمط الذي نستعمله هو
الحدث مدفوعة، بحيث كل وظيفة سوف
يتم القبض على أساس ما حدث الحدث.
على سبيل المثال، إذا كان لدينا زر ونحدده نحن
أنه كلما يتم النقر على هذا الزر، استدعاء الدالة تسمى "مرحبا العالم!"
وبهذه الطريقة نستطيع حقا إدارة وظيفة المنطق
تدفق بطريقة مرنة للغاية.
يمكن للمستخدم القيام به أو استدعاء وظيفة الذي سبق أن دعا.
انها تستند تماما على ما يقوم به المستخدمين.
>> حتى يمكننا أن نرى أن هذا هو في الواقع أفضل بكثير من mario.c.
والخبر السار هو أنه في الواقع ليس مفهوما جديدا.
يا رفاق فعلت أنه في المشكلة الأخيرة تعيين.
حتى في الهدف C هناك ثلاثة مخططات مختلفة
لهذا الحدث مدفوعة البرمجة.
الرسم البياني الأول هو دعا العمل المستهدفة،
حيث يمكنك ربط زر الصحافة مع بعض من وظيفة.
دعنا نقول فقط، عند النقر فوق بعض زر، يمكنك استدعاء بعض من وظيفة.
هذا هو العمل الهدف بسيط جدا.
>> والثاني هو في الواقع أصعب واحدة،
انه دعا الوفد على البروتوكول.
ونحن في طريقنا لشرح أن بقدر كبير من التفصيل لاحقا.
والطريقة الثالثة هي الاخطار.
هذا هو في الواقع لا مهم جدا بقدر
ونحن قلقون، لأن فرصة ان كنت تنوي استخدام الإخطار
في المشروع النهائي الخاص بك منخفضة جدا.
لذلك نحن ذاهبون لتخطي هذا الجزء.
>> ونحن في طريقنا للغوص إلى الوفد على البروتوكول.
ذلك بالضبط ما هو بروتوكول؟
أو ما هو بالضبط وفدا؟
دعونا نتحدث عن بروتوكول لتبدأ.
البروتوكولات ليست سوى الأحداث.
ولكن يتم إعطاء هذه الأحداث ل كنت من قبل شركة آبل لتبدأ.
على سبيل المثال، وأنا لست تأكد تماما كم منكم
الرجال استخدام الأصلي أبل التطبيق الإلكتروني أو الاتصال،
ولكن في كل مرة كنت انتقل لل الجدول واضغط على خلية معينة
على الطاولة، وهذا هو الحدث.
>> وإذا كنت تريد أن تفعل هذا الحدث من قبل نفسك،
انها في الواقع من الصعب قليلا.
لذلك أعطت أبل أنه حتى لك بحيث يمكنك فقط استخدام مباشرة
الحدث أن تفعل شيئا بنفسك.
البروتوكولات هي في الواقع حقا، حقا تستخدم على نطاق واسع
في الهدف C. حسنا في الواقع، كل واحد التطبيق
لديه شيء اشتعلت التطبيق مندوب.
داخل حساسة هو كل من بروتوكولات لتحميل التطبيق.
>> دعنا نقول فقط هناك حدث عن التطبيق لم الحمولة.
وذلك ما يجب أن يحدث بعد أن كنت قد خلقت التطبيق، بعد فتح التطبيق،
بعد إغلاق التطبيق، أو بعد يمكنك وضع اي فون الى النوم.
وهذه كلها الأحداث التي لديها بالفعل أعطيت لك.
وأصلا داخل هذه الجسيمات لن يكون هناك تنفيذ.
التفاح فقط قلت لك أن هذه الوظيفة سيحدث عندما يحدث بعض الأحداث،
ولكن ما تفعله مع أن الوظيفة هي تماما متروك لكم.
>> وفد هو في الأساس يقول الطبقة
التي يجب التعامل مع هذه البروتوكولات.
انها قليلا مربكة، ولكن سيكون من
أكثر وضوحا عندما نفعل رموز الصورة في العمل.
وفد على البروتوكول هو في الواقع آلية قوية للغاية بمعنى
أنه إذا نقوم به الوفد لفئة معينة،
يمكننا التعامل مع الأساس جميع أنواع الأحداث
باستخدام أي فئة لدينا، أداة مريحة للغاية.
>> حتى واحد مثال سريع ل وفد على بروتوكول
سوف يكون ما أنا فقط تحدثت عنه.
هذا البروتوكول على وجه التحديد ما يسمى tableview [غير مسموع] دور حدد
في [؟ مؤشر؟] [؟ الماضي. ؟] لذلك هذا ل الحدث التي من شأنها أن تكون اشتعلت عند
الاستفادة فعليا على محددة خلية في tableview الخاص بك،
دعنا نقول فقط في البريد الخاص بك أو في جهات الاتصال الخاصة بك التطبيق.
>> داخل دالة كان هناك لا تفعل شيئا أصلا.
وظيفة لا فعل أي شيء افتراضيا.
ولكن يمكنك تحديد ما تقوم به وظيفة،
بالنظر إلى ما تريد من التطبيق الخاص بك.
أداة مريحة للغاية.
ومع كل ذلك يقال، وأنا أساسا
تغطية بعض الجملة الأساسية جدا و المفهوم الأساسي للهدف C
البرمجة، ونتمكن من القيام ببعض شفرة.
أكثر من ذلك بكثير مثيرة.
حتى شفرة هو في الواقع الساحقة قليلا
عند فتحه للمرة الأولى.
>> واحد ملاحظة سريعة، حتى إذا كنت تريد أن تفعل تطوير دائرة الرقابة الداخلية،
أنا أوصي لديك ماك.
لأن القيام تطوير دائرة الرقابة الداخلية على ويندوز هو حقا، من الصعب حقا.
انها قابلة للتنفيذ، ولكن من الصعب حقا.
وأنت تفعل بالتأكيد لا تريد استخدام ز تحرير.
حتى في شفرة لدينا عدة مجالات مختلفة.
عند فتح أولا شفرة سترى منطقة الملاحة،
والذي يظهر أساسا لك كل الملفات التي هي في المشروع الحالي.
>> لديك مساحة شريط الأدوات، التي يدير أساسا جهات النظر،
أو سريعة بعض الشيء أدوات حول الصورة القانون نفسه.
وهذا هو المجال محرر الفعلية.
هذه المنطقة هي مشابهة جدا ز تحرير، ولكن أفضل بكثير من ز تحرير.
وفي هذا المجال اليمنى، هو تسمى منطقة فائدة.
تصبح منطقة سهل حقا عندما كنت تقوم بإنشاء واجهة أو تحديد
بعض الاجهزة سريعة للتطبيق الخاص بك.
>> والمجال الأخير هو التصحيح.
تحتوي هذه المنطقة وحدة التحكم.
لذلك كلما كنت أقول printf، أو nslog في حالتنا،
جميع النتائج الخاصة بك الذهاب لتتم طباعتها هنا.
حسنا؟
وأعتقد أننا يمكن حقا بسرعة مثال للبرمجة دائرة الرقابة الداخلية.
ودعونا فعلا فتح كود تصل الصورة.
وذلك في كل مرة يتم فيها فتح كود تصل الصورة، انها سوف تظهر شيئا من هذا القبيل.
انها سوف أطلب منكم ماذا تريد أن تفعل؟
هل تريد أن تبدأ شيئا عشوائي، وملعب، في الأساس كنت
يمكن اختبار فقط دون كود ارتكاب فعلا إلى أي التطبيق.
>> هل ترغب في إنشاء مشروع جديد؟
أو هل ترغب في الاستمرار العاملين في المشروع الحالي؟
في حالتنا نحن ذاهبون لإنشاء مشروع جديد.
لذلك من الجميل حقا، ق كود ديه في الواقع بالفعل
قدمت لكم بعض القوالب لخلق الكائنات.
إذا كنت تريد أن تفعل لعبة، ق كود في الواقع قالب عبة بالنسبة لك،
لديها صفحة التطبيقات القائمة، تطبيق المستندة التبويب.
في هذه الحالة، نحن ذاهبون أن تفعل شيئا بسيط جدا،
ونحن في طريقنا للاستخدام تطبيق عرض واحد.
>> بعد ذلك فقط ما الذي تريد الاتصال به المنتج الخاص بك، وما هو اسمك،
ما هو المعرف الخاص بك، و ما هي اللغة التي تستخدمها.
نحن هنا لا نريد أن تحقق باستخدام البيانات الأساسية.
البيانات الأساسية هو في الأساس databasing دائرة الرقابة الداخلية.
إذا كنت تفعل البيانات الأساسية، ق كود سوف تحدد
الكثير الطبقات أكثر تعقيدا بالنسبة لك.
لذلك للحفاظ على كل شيء بسيط، ونحن مجرد الذهاب الى الاستغناء عن البيانات الأساسية
الآن.
>> المشكلة نحن في طريقنا لتكون باستخدام هو that-- المشكلة
ونحن في طريقنا إلى أن خلق هو أننا تريد أساسا لاستيراد ماريو من C
إلى التطبيق دائرة الرقابة الداخلية.
لذلك دعونا نسمي ذلك ماريو-دائرة الرقابة الداخلية.
بالطبع يمكنك تحديد ما كنت نريد أن نضع في المشروع.
وهناك نذهب.
>> لذلك هذا هو قليلا الساحقة، ولكن هذا هو الواقع
ما رأيناه فقط على الشرائح.
والمنطقة الأولى ونحن نرى الآن هو في الأساس تكوين المشروع.
لذلك كل شيء تريد القيام به المشروع، أي نوع من الجهاز،
دعنا نقول فقط ما هو نوع من جهاز هل تريد التطبيق الخاص بك لتظهر على؟
هل من اي فون، آي باد أو عالمية؟
لذلك التوجه الجهاز، كل هذه الأشياء.
ليس مهما جدا، ولكن يمكن أن يكون، ولكن هذا
هو المكان الذي قمت بإعداد المشروع الخاص بك إذا كنت في الواقع
ترغب في نشر لمتجر أبل.
>> كل الحق، دعونا ننظر في ما هو داخل نظامنا.
دعنا نذهب من خلال الملاح الملف.
وهذه هي كافة الملفات التي بالفعل جاء مع القالب، لطيفة جدا.
حتى عندما وبنقرة واحدة منهم هذا ما يبدو.
تشبه الى حد بعيد ز تحرير.
لكن يمكنك أن ترى أن تسليط الضوء على تركيب هو على الارجح
أجمل قليلا.
وانها في الواقع أكثر من ذلك بكثير قوة من ز التحرير.
ويمكنك استكمال السيارات الكثير من الامور بالنسبة لك،
كما سنرى بسرعة كبيرة.
>> دعونا فتح منطقة التصحيح أيضا.
كل الحق، كما يمكننا أن نرى، وحدة موجودة هنا.
هذا هو ما كنت تريد الذهاب لرؤية أين كنت في printf أو nsloging شيء.
ذلك دون مزيد من اللغط، دعونا الواقع تجميع التطبيق ونرى ما سيحدث.
واحدة سمة أساسية ل شفرة، هو أن شفرة
يأتي مع جهاز محاكاة اي فون.
لذلك أنت لا تحتاج أن يكون لها اي فون في محاولة مشروعك،
شفرة يمكن محاكاة ذلك ل لكم، كما نرى الآن.
>> انها لطيفة جدا.
انه أخذ قليلا قليلا من الوقت لتجميع
وأساسا لدينا تطبيق فارغ،
والتي في الواقع لا يفعل شيئا.
ولكنه يجمع.
انها رهيبة جدا.
إنها أفضل بكثير من C، هاه؟
كل الحق، ثم دعونا محاولة لإضافة شيء.
ملف واحد هو أن قليلا غريب هنا يسمى القصة المصورة.
هذا هو في الواقع كبيرة، ميزة رهيبة للشفرة.
لأنه في الصورة رمز، يمكنك فعلا السحب وإسقاط العناصر على واجهة
وسوف تظهر مباشرة تصل.
دعونا نحاول ذلك.
>> نحن إسقاط التسمية هنا، "مرحبا العالم!"
يمكننا أن المركز الذي.
بارد جدا.
الآن دعونا تشغيل هذه المحاكاة توقف.
هنا لدينا "مرحبا العالم!"
ونحن حتى لم تفعل أي ترميز بعد.
ما هيك يحدث؟
هذه هي الطريقة قوية بناء واجهة يمكن أن يكون.
حتى قال أحدهم أن ربما يمكنك فقط
استكمال التطبيق دون الكتابة ربما ألف الأسطر من التعليمات البرمجية
فقط باستخدام منشئ واجهة.
ولكن هذا ربما لا أفضل طريقة للقيام بذلك.
>> الآن دعونا فعلا ننكب على الترميز.
وبالتالي فإن هيكل لملف هو في الواقع مثيرة للاهتمام حقا
لأنه، كما قد ترى، هناك لم المهمة الرئيسية في أي مكان.
ترى؟
كما ذكرنا من قبل، يمكنك أن ترى أن هذا
هو ملف التنفيذ لفئة محددة.
ولكن لا يوجد في أي مكان الرئيسي.
فأين هو أهم؟
في الواقع، هناك الرئيسي، ولكن مخفيا الرئيسي الواقع منك.
الرئيسية هنا.
التي تبدو مألوفة.
>> وذلك أساسا ما دائرة الرقابة الداخلية تقوم به داخل الرئيسي
غير أنه كلما الرئيسي هو ودعا، الذي هو في الأساس
كلما يتم تنفيذ التطبيق، فإنه بإنشاء كائن يسمى AppDelegate.
وكما ذكرت من قبل، كامل التطبيق هو في الواقع كائن في حد ذاته.
حتى في هذه الطريقة، في الأساس دائرة الرقابة الداخلية التطبيق هو قول المترجم
أن OK، انا ذاهب الى خلق منتج يسمى AppDelegate،
والتي ستكون بلدي التطبيق.
لذلك كنت بحاجة للذهاب من خلال هذا AppDelegate
ونرى ما يفعله هذا الرجل.
ويتم ظيفتي بالنسبة لي.
>> وAppDelegate يمكنك أن ترى أن هناك بعض وظائف غريبة حقا،
كذلك فعلا الأساليب، التي أعطت أبل بالفعل لك.
ما هي هذه؟
هذه هي في الواقع بروتوكولات فقط أن كنت أتحدث عنه.
لذلك هذه هي الأحداث التي أبل قد أعطاكم لتبدأ.
لا يوجد شيء في بعض وظائف في الوقت الراهن،
ولكن إذا كنا نريد أن تهيئة شيء من أجل التطبيق لدينا
قبل الدخول في عرض أي رأي، ونحن نفعل ذلك هنا.
>> يمكنك أن تقرأ فقط اسم واعتقد هذا الحدث هو فعلا واضحا حقا.
وحتى الآن الرئيسي خلقت كائن لAppDelegate.
وما AppDelegate سيفعل في الواقع لا يخفى أيضا منك.
وAppDelegate سوف تبدأ تحميل الأسهم ViewController.
حتى انها في الأساس سنبدأ تحميل ما يصل جميع وجهات النظر التي لديك
ومجرد تقديم وجهة نظر على أساس التسلسل الهرمي.
>> حتى في هذه الحالة لدينا فقط رأي واحد، والتي هي هنا.
لذلك هذا هو الرأي الوحيد ما يجري ليتم استدعاؤها.
منطق ViewController هو الحق هنا.
هذه هي الشفرة التي في الواقع تسيطر على الرأي رأينا فقط.
كل الحق، دعونا نفعل شيئا هنا.
حتى viewDidLoad يبدو وكأنه حدث، في حين أن هذا هو أيضا مندوب،
وهذا هو أيضا البروتوكول.
>> وبغض النظر عن تحميل الرأي، كل شيء داخل وظيفة
وسوف يطلق.
في هذه الحالة يجب أن نرى "مرحبا تيانيو! "إذا كنا تشغيل البرنامج.
انها تحصل على بطيئة قليلا تجميع ملفات القصة المصورة.
حسنا في الواقع، نحن لا نرى الناتج عن ذلك.
انها باردة جدا.
الآن دعونا فعلا ماريو.
انا ذاهب الى تعريف تعمل بسرعة كبيرة.
marioWithLevels: نتائج (الباحث) المستوى.
>> كل الحق، وهذا هو في الواقع رهيبة سمة من سمات شفرة السيارات على الانتهاء.
لذلك عندما كنت أكتب لواكتب تدخل، وقد أعطى ذلك بالفعل القالب
بالنسبة لك، وهو بارد جدا.
يجب أن ننظر حقا مألوفة ليا رفاق.
عذرا، هذا خطأي.
كل الحق، بارد.
هذا المنطق ينبغي أن ننظر مألوف حقا ليا رفاق، وخاصة ماريو فقط.
>> ولكن نحن سوف طباعة الآن إلى وحدة التحكم في كل مرة واحدة،
لأننا نريد أن يحافظ بطريقة ما تتبع ما نحن الطباعة.
ونحن في طريقنا لاستخدام يؤدي بطريقة ما في وقت لاحق،
لعرض الطباعة من ينتج للمستخدم.
وذلك بدلا نحن فقط nslogging كل شيء،
التي نحن تخزين كل شيء إلى نتيجة استدعاء دالة،
ولكن المنطق هو نفسه تماما.
بعد أن ننتهي، ونحن مجرد طباعة نتائجنا.
>> وهنا بدلا من طباعة خارج بلدي اسم، ونحن في طريقنا إلى استدعاء دالة.
دعونا نرى ما سيحدث.
عفوا، ومن الواضح.
لدينا لطيفة الهرم قليلا من هنا.
هذا هو الأساس C، نحن فقط التلاعب فيها استدعاء وظيفة
وكيف لا وظيفة تبدو.
لا يوجد شيء مختلف.
ولكن هذا هو الواقع ليس مثيرا للغاية هنا،
لأننا لا نرى أي شيء من التطبيق فون.
>> حتى إذا كان لديك بالفعل اي فون app-- إذا كان لديك بالفعل ماريو دائرة الرقابة الداخلية الحق
الآن، وأنت لن لمعرفة أي شيء
لديها أي علاقة مع ماريو ل كل هذه النواتج إلى وحدة التحكم
وكلها من المستخدمين.
هذا هو ما تراه، الذي هو "مرحبا العالم!"
ليس جيدا.
الآن دعونا نحاول أن نجعل للمستخدم رؤية بالضبط ما نحن طبع.
لذلك نحن لسنا في حاجة لتسمية بعد الآن.
دعونا نحاول ومعرفة شيء آخر والتي قد تكون مفيدة.
>> هناك في الواقع واحدة العنصر الذي يسمى
حقل النص، والتي يمكن أن تكون مفيدة جدا بالنسبة لنا.
فإنه يعرض أساسا المنطقة النص التي يمكن تحريرها.
بحيث تبدو مفيدة حقا.
الآن دعونا اسحبه وأسقطه.
نجاح باهر، لدينا عرض النص في رأينا، يتوهم حقا.
هذا هو قليلا كبير جدا.
دعونا جعله أصغر.
وضعه في المركز.
جعله أصغر كذلك.
>> الآن لدينا عرض النص، وهو ما يمكن يتم استخدامها لعرض النتيجة النهائية لدينا.
ولكن الآن حان بالتأكيد ليست الذهاب الى العمل
لأن هناك no-- لل ViewController نحن فقط
يعرف لا يعرف أن هناك نسخة النص هناك.
لذلك نحن بحاجة إلى حد ما ربط عرض النص نحن فقط
تم إنشاؤها باستخدام الفئة التي قد حان بالفعل معنا.
>> الطريقة التي نؤدي بها ذلك هي في الواقع سحري حقا.
حتى فتح القصة المصورة.
هناك خاص (غير مسموع) دعا [؟ مساعد؟] [غير مسموع].
عند النقر فوق ذلك، انها الذهاب لفتح ملفين.
واحدة هي فئة والآخر نسخة المقابلة لذلك.
انها جدا، ومفيدة للغاية.
ودعونا يذهب فقط من خلال ملف .H.
السيطرة، وهذا هو [غير مسموع] المنطق.
الرقابة على المطبوعات واسحب عرض النص في الإعلان.
ونحن في طريقنا للدعوة التي outputView.
الاتصال.
حتى هنا أعلنا جديدة الملكية لفئة ViewController لدينا.
والخاصية الجديدة هو مجرد عرض النص
انشأنا في بناء الواجهة.
لذلك بهذه الطريقة نستطيع وصول جميع البيانات
وتلاعب كل ما هو داخل وجهة الإخراج، الذي هو رائع.
>> حتى في الرمز الفعلي لدينا، دعونا نفعل شيئا معها.
حتى هذا الوقت عندما نكون مثل الطباعة من النتيجة النهائية للماريو،
نحن في عدم تسجيل أي شيء.
أعني أننا يمكن أن تبقي البيان قطع الأشجار.
وبالإضافة إلى ذلك، ونحن إرسال قراءات نحن فقط
أنشئت لوجهة نظر الإخراج، الذي هو UI textview أنشأنا فقط.
الآن دعونا نرى ما سيحدث.
نجاح باهر.
لدينا الهرم في التطبيق في الوقت الحالي.
>> بحيث يمكن للمستخدم رؤية انتاجنا ل قمنا نسخ الإخراج من رمز لنا
إلى واجهة لدينا.
انها جيدة جدا.
انها في الواقع لا أن مثيرة لأننا can--
كل التطبيق يقوم به هو يظهر الهرم لكم،
وليس هناك شيء يمكنك القيام به حيال ذلك.
انها ليست مثيرة للغاية.
حتى الآن دعونا جعل زر التي من شأنها أن مسح وجهات النظر.
يبدو أن زر سوف تكون مفيدة.
سحب وإسقاط.
زر واحد.
زر اثنين.
>> حتى عندما وانقر على اليسار زر، ينبغي أن رؤية واضحة.
ينبغي أن يكون هناك أي شيء على الشاشة.
وعندما كنا انقر على الزر الأيمن، ماريو،
وجهة النظر سوف تظهر مرة أخرى.
لذلك هذا الطريقة التي نؤدي بها أيضا الاشياء السحرية والسيطرة عليها والسحب
لتعريف فئة في director-- مساعد
في العارض مساعد.
في هذه الحالة نحن يتم تعيين أن هذا ينبغي أن يكون هذا العمل.
clearMario.
>> حتى هنا أنشأنا بالفعل إجراء يسمى clearMario،
وهو الأسلوب الذي سيطلق عليها كلما نضغط على زر واضحة.
لذلك لدينا في الواقع رمز، دعونا فقط وضع النص الإخراج وعرض الانتاج
إلى لا شيء، وبهذه الطريقة وسوف تظهر لتكون واضحة.
وبالإضافة إلى ذلك، دعونا خلق طريقة أخرى تسمى runMario.
أوه آسف، لا ينبغي أن يكون العقار.
كل الحق، وهذا ينبغي أن يكون العمل كذلك.
>> وعند ذاك هي وظيفة ودعا، نحن فقط تشغيل ماريو عشرة.
نأمل أن يكون على ما يرام.
هل تجميع؟
نعم.
الآن لدينا وجهة نظر.
لدينا الانتاج.
ودعونا نرى ما سيحدث.
وهذا ما ذهب.
انها مرة أخرى.
حتى هنا قمنا محدد أي نوع من ظيفة
سوف يتم استدعاؤها عند نحن اكتب في شيء،
عندما نضغط على زر معين.
وهذا هو الأساس خطة العمل المستهدفة
لهذا الحدث مدفوعة البرمجة في الهدف C.
>> بالإضافة إلى ذلك، انها ليست مثيرة للغاية
لأننا لا نستطيع تغيير الواقع مدى ارتفاع الهرم ستكون،
ولذا فإننا ربما تريد بطريقة أو بأخرى الحصول على مدخلات من المستخدم
وتغيير ذروة الهرم بناء على ما الانتاج.
لذلك نحن ذاهبون للقيام بذلك.
حتى هذا الوقت عندما ندعو runMario، نحن لا مجرد دعوة ماريو مباشرة.
عنوان هذا واحد.
>> مندوب.
هذا مثير للاهتمام للغاية.
ما هو مندوب؟
انا ذاهب الى وضع الذات هنا.
ونحن في طريقنا لرؤية ماذا يعني ذلك في وقت لاحق.
حتى هنا أنشأنا الأساس المثال معين يسمى حالة تأهب UI
الرأي.
وجهة نظر في حالة تأهب UI هو أساسا ما شئت
نرى في كل مرة الملوثات العضوية الثابتة شيئا صعودا ويسألك عن المدخلات،
مثل ماذا سيحدث عندما كنت في محاولة لشراء شيء على المتجر.
>> بالإضافة إلى ذلك، بعد إنشائه، وتبين لنا مجرد حالة تأهب.
كل الحق، دعونا بسرعة فقط سيتم اختبار هذا العمل أم لا.
هذا بارد جدا.
الآن دعونا فعلا خلق حقل الإدخال للتنبيه UI.
هذا هو كيف نفعل ذلك.
وينبغي أن يكون لدينا عرض المدخلات للتنبيه.
رائع جدا.
دعنا نقول فقط 10.
>> انها لا تفعل شيئا الحق الآن لأن الدعوة في الواقع
لم تتغير لتنفيذ ماريو.
لذلك أصبح هذا قليلا غريب بعض الشيء لأنه كلما
نضغط على زر أسفل، كلما كنا اضغط على زر في وجهة النظر في حالة تأهب،
شيء يجب أن يحدث، ولكن ذلك لا يحدث.
كيف يمكننا اللحاق ذلك؟
كيف نعرف أن المستخدم ورفضت وجهة نظر في حالة تأهب
ودخل بالفعل عددا، ل الآن لا شيء يحدث في الواقع.
>> حسنا، ربما كنت قد خمنت من الصواب، الوفد.
وذلك بالإضافة إلى جميع هذه الإعلانات،
نحن بحاجة إلى إضافة وفد جديد ل وصفته UI التنبيه View مندوب.
بحيث ان كل واحد تفاعل أو الحدث
اننا ستكون لدينا مع عرض تنبيه UI
سوف يتم التعامل معها من طبقتنا كذلك.
>> وذلك بالإضافة إلى ذلك، سوف يكون حالة تأهب زر منظر انقر على المؤشر.
الوصول إلى هذا.
حتى في هذه الحالة لدينا already-- لذلك لدينا
تبين البروتوكول الذي سيتم التعامل مع الحدث عندما
نحن انقر على زر حرر على وجهة النظر في حالة تأهب.
وذلك في كل مرة ونحن استبعاد عرض في حالة تأهب، وهذا يجب أن يحدث.
اسمحوا لي أن اختبار فقط بسرعة جدا.
حسنا في الواقع، لقد وصلنا هنا.
>> حتى هنا، ما أننا لن في الواقع الحصول على هو في الواقع
الحصول على the-- لذلك نحن نريد أن نخرج النص الذي لدينا في السابق
دخلت في وجهة النظر في حالة تأهب.
وبناء على نص، ونحن الذهاب لعرضه ماريو.
هذا يتحول بسرعة كبيرة خارج اذا كان يعمل في الواقع أم لا.
حتى في هذه الحالة، إذا كنا المدخلات، دعنا نقول، 10، نحن يجب أن نرى 10.
>> جيد جدا، لدينا عدد هنا.
انها جيدة جدا.
الآن الخطوة الأخيرة سوف be-- لذلك الخطوة الأخيرة يتعين علينا القيام به الآن
هو مجرد مكالمة مع ماريو المستوى على أساس المدخلات
أن وضعنا في طريقة العرض في حالة تأهب.
لذلك نحن بحاجة إلى تحويل هذه السلسلة إلى دائرة الرقابة الداخلية.
تجاوز ثابت رائع جدا.
وبعد ذلك نحن مجرد دعوة النفس قيمة marioWithLevels.
دعونا نرى أن إرادة العمل فعلا أم لا.
>> نحن بالفعل نظرا الهرم.
دعونا نحاول تغيير الارتفاع.
أن يعمل فعلا.
انها باردة جدا.
بحيث يمكنك الآن فقط إدخال أي القيمة التي تريدها.
دعنا نقول فقط أربعة.
هذا رائع جدا.
لذلك هذا هو الأساس مثال سريع حقا
لكيفية إنشاء مشروع في شفرة وكيف سلك بسرعة حقا
بعض الأحداث وظائف بسيطة حقا.
>> لذلك المصدر هو ذاهب أن يكون وضعت على الانترنت في وقت لاحق.
حتى إذا كنت مهتما في كيفية عمل دائرة الرقابة الداخلية ماريو،
انا ذاهب الى وضع نفسه تماما مشاريع على موقع CS50 في وقت لاحق.
نحن القيام به أساسا مع الصيف، وقبل ان ننتهي
أريد فقط أن أشير يا رفاق ل بعض الموارد رهيبة حقا أن
متوفرة على الانترنت.
>> من الواضح أن وثائق أبل سوف تكون مفيدة جدا.
ولكن بالإضافة إلى ذلك، أنا لا سيما يوصي أربعة مصادر، المدرسة رمز،
منزل شجرة، AppCoda وWWDC أشرطة الفيديو.
المدرسة رمز ومنزل الشجرة هي اثنين من المواقع تثقيف على الانترنت،
والتي تركز على وجه التحديد على هندسة البرمجيات.
خاصة بالنسبة للمدرسة الرمز، هم لدينا تعليمي جيد حقا على دائرة الرقابة الداخلية.
>> هذا هو مثال سريع حقا لذلك.
أنها فعلا إنشاء cute-- حقا ننظر في ذلك اي فون لطيف قليلا
المتأنق هناك، انها رهيبة جدا.
والطريقة التي تفسر الهدف جملة C واضح تماما.
منزل الشجرة هو نفسه.
وAppCoda هو منتدى.
انها في الواقع بلوق التي تم تشغيلها قبل الهدف C شهدت حقا
مبرمج.
وجميع تلك الدروس في AppCoda هي باختصار جميلة وسهلة التنفيذ،
موصى به للغاية.
>> وإذا كنت مطورا، بالتأكيد تذهب للتحقق
كيف الفيديو WWDC حيث يمكنك تعرف على أحدث البرمجة دائرة الرقابة الداخلية
التقنيات، واجهات برمجة التطبيقات والمكتبات.
لذلك هذا هو الى حد كبير كان للحلقة الدراسية.
شكرا جزيلا.
وأتمنى لكم وقتا ممتعا خلق الخاصة بك دائرة الرقابة الداخلية التطبيق الخاص.