Arabic Subtitles for Stanford University Developing iOS 7 Apps: Lecture 2 - Xcode 5



Subtitles / Closed Captions - Arabic

>> جامعة ستانفورد.

>> بول هيجارتي: حسنا. حسنا، مرحبا بكم في محاضرة رقم اثنين من CS 193P للسقوط من 2013/2014 السنة الدراسية. واليوم ونحن في طريقنا لبعض الشرائح في البداية، أكثر من ذلك بقليل الحديث، ثم سأشارك لديك تماما التجريبي الكبير الذي يجري في محاولة

ونأمل تجميع كل الأشياء لقد تم الحديث حول على الشرائح للمحاضرات الأولين، وهو أننا ذاهبون للبدء في بناء لعبة بطاقة لدينا. حسنا. هذه اللعبة مطابقة البطاقة ستكون الركيزة لدينا لأول أسبوعين من تعلم بعض الهدف جيم، التعلم عن كسكودي، والتعلم حول كيفية دائرة الرقابة الداخلية السنانير

حتى وحدة تحكم، والرأي، ونموذج لجعل واجهة المستخدم. حتى إذا كنت تذكر من آخر مرة، فعلنا هذا الشيء بطاقة أن - فعلنا بطاقة كاملة. وكانت فئة بسيطة جدا. حصلت على زوجين من خصائص - ثلاث خصائص هناك - وأسلوب واحد.

وهذا الى حد كبير ذلك. وحتى اليوم ونحن في طريقنا للذهاب في وقيام فئة أخرى، وهو على سطح السفينة، حسنا؟ أوراق اللعب. وتذكر، أن بطاقة وسطح السفينة هي عامة؛ انهم ليسوا محدد للعب الورق، أليس كذلك؟

بطاقة اللعب، مثل الآس الأندية أو ملك القلوب - شيء له كل ما في ذلك - هذا شيء بطاقة اللعب. هذه هي بطاقات العامة والطوابق. ولذلك فإن هذا يمكن أن يكون سطح بطاقات فلاش، سطح السفينة من الكلمات لغة أجنبية تحاول

لمعرفة أو أيا كان. لذلك نحن نحاول الحفاظ على هذه السفينة والطبقات بطاقة عامة إلى حد ما. حتى هنا على سطح السفينة. ينبغي أن تبدو مألوفة من حيث بنيتها الأساسية، أليس كذلك؟ نحن استيراد إطار superclasses لدينا هناك،

ثم من الواضح المستوردة لدينا ملف الرأس الخاصة في تنفيذنا. واجهة لسطح السفينة وستكون لدينا هذا النوع اثنين من الأساليب الأساسية: واحد يضيف البطاقة إلى سطح السفينة واحد يرسم بطاقة عشوائية من سطح السفينة. حسنا؟ وإضافة بطاقة إلى سطح السفينة هو جديد قليلا لك

لأنك يمكن أن نرى ذلك فقد اثنين من الحجج. حسنا؟ هذه هي الطريقة الأولى التي رأيت أن اثنين من الحجج. حتى الآن كنت قد رأيت فقط طرق مع أي حجج أو أسلوب مع وسيطة واحدة من هذا القبيل - مباراة - كانت مباراة وسيطة واحدة أو واضعي،

لديهم أيضا حجة واحدة. لذلك تلاحظ أنه عندما يكون لديك حجج متعددة والأهداف، نرى انهم نوع من تتخللها مع أسماء الطرق. حسنا؟ حتى اسم هذه الطريقة، هذه الطريقة الطويل هو إضافة القولون بطاقة في أعلى القولون.

هذا هو اسم هذا الأسلوب. حسنا؟ حتى في الجزء العلوي هو في الواقع جزء من اسم هذا الأسلوب. والحجج، مثل البطاقة التي كنت تريد الذهاب لإضافة وفي أعلى - وهو منطقية سواء لإضافته في الجزء العلوي من سطح السفينة أو في الجزء السفلي من سطح السفينة -

حسنا، وتتخلل تلك الحجج. وسنرى كيف ندعو مثل هذا الأسلوب في لحظة هنا. ثم رسم بطاقة العشوائية مثل، كما تعلمون، على غرار جالبة في أن تقوم بإرجاع قيمة وليس لها الحجج. ولكن هذه ليست جالبة لأننا لم يجعل هذه الممتلكات.

وانها نوع من المهم لفهم لك قد جعلت هذا العقار مثل خاصية للقراءة فقط أو ما يقرأ عليه، ولكن منذ رسم بطاقة عشوائية النوع من لا شيء، انها نوع من خوارزمية لذلك - آلية - كنت عادة لا تجعل هذا العقار.

انها نوع من إساءة استعمال جالبة للقيام بذلك. وجالبة هو في الحقيقة مجرد وضع والحصول على قيمة. قد يكون لها آثار جانبية، مثل وضع قد تحديث واجهة المستخدم أو الحصول على أنه قد تأكد انها تهيئة لأول مرة - هذا النوع من الأشياء. أنت لن - شيء أن يفعل شيئا

مثل رسم بطاقة لن تكون الملكية. الآن، إذا كنت تريد أن يكون، مثل، أن في أعلى حجة تكون اختيارية، حسنا، والطريقة الوحيدة للقيام بذلك في الهدف C - من الواضح أننا بحاجة ملف رأس لدينا هناك - الطريقة الوحيدة للقيام بذلك في الهدف جيم هو

للإعلان عن طريقة جديدة، إضافة القولون بطاقة مع أي في أعلى على ذلك. لذلك هذا هو أسلوب مختلف تماما، لا علاقة لها تماما إلى طريقة أخرى باستثناء أن في تنفيذه هذه طريقة أخرى نحن ذاهبون فقط استدعاء الآخر، حسنا؟ وذلك في بطاقة الإضافة ونحن في طريقنا إلى القول النفس إضافة بطاقة في أعلى القولون،

كل ما نريد الافتراضي أن يكون، وأنا أريد أن أقول لا. حسنا؟ لذلك فهم مجرد ذلك، كما تعلمون، في بعض اللغات، مثل، يمكن لبعض الحجج تكون اختيارية أو يمكنك نوع من الأشياء الزائد لديهم نفس اسم الأسلوب ديك حجج مختلفة.

رقم في الهدف جيم كل أسلوب يختلف تماما ولها اسم واضح. ويتخلل حجج إضافية من هذا القبيل. حسنا؟ لذلك فان هذه ستكون طريقتين مختلفتين. هذا معقول؟ حسنا.

لذلك دعونا نتحدث عن تنفيذنا للسطح لدينا. لذلك لدينا سطح السفينة هو مجرد الذهاب إلى تحتوي على مجموعة من البطاقات. نحن بحاجة إلى نوع من بنية البيانات الداخلية لتخزين كل أوراقنا في. وما نحن ذاهبون القيام به هو أننا ذاهبون للحصول على مجموعة قابلة للتغيير. لذلك كنت قد رأيت بالفعل الطبقة NS مجموعة،

وهو مجموعة من الدرجة الأساس، وهي مجموعة من الكائنات. هذه الكائنات، بالمناسبة، في مجموعة يمكن أن يكون من أي فئة. هناك حقا أي وسيلة لتحديد أي نوع من الدرجة من كائن في صفيف. بعض اللغات تسمح لك ان تفعل ذلك.

يمكنك تحديد "هذا هو مجموعة السلاسل "، وأنه يعرف ذلك. ولكن في الهدف جيم لا يمكنك أن تفعل ذلك. ونحن بصدد الحديث عن كيفية التعامل مع ذلك. هذا قليلا من الغرب المتوحش من الهدف جيم، ولكن هناك طرق لنوع من الاختيار

ونرى ما هي الكائنات إذا كنت تريد أن تكون آمنة حقا عن ذلك. ولكن في هذه الحالة لدينا فقط هذه المجموعة قابلة للتغيير. وسيلة قابلة للتغيير أن نتمكن من إضافة كائنات إلى مجموعة. عادة مجموعة NS غير قابل للتغيير. حسنا؟ بمجرد إنشائه، أيا كان دخول الأجسام عليه،

هذا هو الأشياء التي هي فيه إلى الأبد - لا يمكنك أن تأخذ أي من ولا يمكنك وضع أي في. لذلك إذا أردنا مجموعة حيث يمكننا أن نضيف الاشياء، يجب علينا أن نستخدم هذه الفئة الفرعية من NS مجموعة تسمى مجموعة NS قابلة للتغيير. حسنا؟ يمكنك أن ترى أنه من الممتلكات.

انها قوية لأننا نريد هذه المجموعة للبقاء في كومة طالما أننا مشيرا في ذلك. وبطبيعة الحال، نحن دائما نضع nonatomic هناك. حسنا؟ ولذلك فإن هذا سيكون مجموعة من البطاقات. الآن أن لدينا هذا، ونحن يمكن أن تنفذ بسهولة إضافة بطاقة، على سبيل المثال، مجرد القول، "إذا كان في القمة، ثم إدراج كائن"

البطاقة، التي هي الحجة لهذه الطريقة - الحجة الأولى - "إضافة مؤشر الصفر". لذلك إدراج كائن إضافة الرقم القياسي هو أسلوب في NS مجموعة قابلة للتغيير، ليس في NS مجموعة - فقط في NS مجموعة قابلة للتغيير لأن ذلك من شأنه أن تحور ذلك - أن إدراج الكائن في ذلك مؤشر في مجموعة

ومؤشر الصفر ستكون أعلى أننا ذاهبون إلى تعريف. ثم إذا كان خلاف ذلك نحن لن ضعه في الجزء العلوي، ونحن في طريقنا لوضعها في الجزء السفلي، ونحن في طريقنا إلى استخدام NS مختلفة طريقة مجموعة قابلة للتغيير يسمى إضافة كائن.

ويضيف مجرد شيء في نهاية المصفوفة. لذلك الجميع تهدئة مع ذلك؟ لذلك أنا في الغالب مجرد وضع هذا الأسلوب في هنا فقط لتظهر لك هناك بضعة طرق مختلفة على مجموعة قابلة للتغيير، وكما تعلمون، كيف يمكننا استخدام الوسائط. فإنه ليس من شيء كبير هنا. انها مجرد نوع من الحصول على أكثر استخداما

ما الذي يحدث هنا. حسنا. ولهذا إضافة بطاقة. جدا وبسيطة جدا. وهناك مشكلة، وإن كان. في هذه إضافة بطاقات، إذا أنشأنا مجرد سطح السفينة

ثم دعا بطاقة الإضافة، فإنه لن ينجح. حسنا؟ فإنه لا تفعل شيئا. لماذا عليها أن تفعل شيئا؟ لأن بطاقات الملكية، حسنا - self.cards هو كيف نقوم الوصول إلى الملكية الخاصة بنا - جالبة لها يشبه أن افتراضيا.

إذا كنا لا تعطي جالبة، هذا ما يبدو جالبة مثل. انها مجرد الذهاب لإعادة هذه البطاقات underbar المثال متغير. حسنا، أن بطاقات underbar المثال المتغير الذهاب لتبدأ من الصفر لأن جميع المتغيرات سبيل المثال

في كائن الهدف جيم تبدأ من الصفر. كل منهم. حسنا؟ حتى بما في ذلك المؤشرات. ذلك أن المؤشر سوف يكون صفرا، وهو نسميه شيء، مما يعني أنه لا يشير إلى أي شيء، وهو ما يعني وجود مجموعة، حسنا؟

وصلنا مؤشر إلى صفيف لا يشير إلى أي شيء الآن. حسنا؟ بحيث مشكلة. لذا عندما نقوم بتنفيذ التعليمات البرمجية في بطاقات الإضافة مثل self.cards إضافة بطاقة كائن، وهذا سوف لا يتلف ولكن لا تفعل أي شيء، إما.

حسنا؟ لأنني قلت لك أنه يمكنك إرسال رسائل إلى لا شيء، إرسال رسائل إلى مؤشرات، إلى كائنات حيث انها ليست لافتا إلى واحد في ذلك الوقت، وأنها لن تحطم الطائرة. إذا قمت بإرسال رسالة التي تقوم بإرجاع قيمة، وهذه الرسالة يتم تنفيذ أي رمز ولكنه سيعود صفر.

حسنا؟ لذلك الكثير من الأصفار تحلق حولها هنا. حسنا؟ فكيف نحن ذاهبون لإصلاح هذا؟ كيف نحن ذاهبون تجعل من ذلك أن إضافة يعمل بطاقة؟ حسنا، يمكننا أن نضع شيئا في بداية البطاقة الإضافية الذي يقول: "إذا self.cards هو لا شيء، ثم انتقل تخصيص صفيف في كومة وأشر إلى ذلك، وبعد ذلك سنقوم استخدامها. "

حسنا؟ ولكن هذا يعني في كل مرة واحد لدينا لاستخدام self.cards أن علينا أن يرحل وتحقق وتأكد من انها لا شيء. والتي من شأنها أن تكون مزعجة جدا. حسنا؟ من شأنه أن يكون ذاته، عرضة للخطأ، وعلة عرضة لل، نحن ننسى أن تفعل ذلك في مكان ما.

كل هذه الأشياء. حتى مكان عظيم للقيام بذلك قليلا إذا الاختيار هو في جالبة، حسنا؟ أن جالبة التي لدينا هناك حق للحصول على بطاقات - هذا هو حاصل لدينا بطاقات الملكية الخاصة - بدلا من مجرد إعادة بطاقات، دعونا نضع الحق خط

أمام ذلك يقول: "إذا البطاقات هو لا شيء، ثم دعنا نذهب تخصيص واحد في كومة وتعيين لمتغير سبيل المثال ". حسنا؟ ولذلك فإن الطريقة التي تخصص مجموعة في كومة هو استخدام NS قابلة للتغيير مجموعة الوك الحرف الأول. حتى ان مكالمتين رسالة تداخل داخل بعضها البعض.

في الوك يخصص عضو في كومة، والحرف الأول تهيئة تلك الذاكرة بحيث انها، كما تعلمون، مجموعة معقولة. ونحن في طريقنا لنرى كيف يمكننا بناء مهيئ الخاصة بنا في بضع شرائح هنا. وحتى هذه الطريقة في كل مرة واحد استدعاء self.cards،

يمكنك التأكد من أنها ليست معدومة. انها على الأقل ستكون مجموعة فارغة. هل يفهم الجميع هذا الرمز؟ من المهم أن نفهم هذا. بلى. [غير مسموع]

>> بول هيجارتي: حسنا. لذا فإن السؤال هو: بدلا من ذلك وجود هذا الرمز التهيئة يكون في هذا جالبة، لماذا لا أقوم مهيئ مثل الحرف الأول لسطح السفينة ووضع هذا السطح الداخلي؟ حسنا؟ وهذا هو خيار آخر.

ومرة أخرى، نحن ذاهبون لرؤية مهيئ للعب سطح البطاقة، ونحن ذاهبون لجعل مهيئ. ويمكننا أن نفعل ذلك. ولكن وجود تهيئة هذا الشيء يكون أقرب لالفعلية الحصول على العقار هو أكثر من ذلك - يجعل الحرف الأول الخاص بك أقل مليئة حفنة من القمامة من هذا القبيل.

وهذا ما يسمى مثيل كسول، بالمناسبة، والقيام به على هذا النحو. ونحن في انتظار بتكاسل إلى الثانية الأخيرة حتى أننا مثيل. هذا النمط هو شيء الجميع في الهدف جيم يستخدم ل،

ويجب عليك بالتأكيد استخدامها بدلا من فعل الأشياء في الحرف الأول الخاص بك. في الحرف الأول الذي تريد، كما تعلمون، وضع الأمور في نصابها، تعيين القيم التي، كما تعلمون، لا يمكن بسهولة أن تعثر مثل هذا. حسنا؟ ولكن هذا سؤال جيد جدا. وسنرى الحرف الأول في الشرائح زوجين.

حسنا؟ لذلك بهذه الطريقة نحن self.cards مضمونة ل أبدا النيل. بلى؟ >> [غير مسموع] >> بول هيجارتي: نعم. حتى تسطير هو من المحاضرة الماضية.

تذكر أننا عندما إنشاء خاصية، الهدف جيم تلقائيا لا هذا الشيء، تعيين توليف: بطاقات يساوي underbar بطاقات. لذلك وبعبارة أخرى، يقوم بتعيين متغير مثيل يسمى اسم underbar الممتلكات أن تكون مساحة التخزين لتلك الممتلكات.

ولهذا السبب يتم إنشاء بطاقات underbar تلقائيا بالنسبة لنا هناك وراء الكواليس. أن العلامة يجمع المنبثقة في الكود، لكنه هناك وراء الكواليس. هذا سؤال جيد جدا. أي أسئلة أخرى حول هذا الموضوع؟

حسنا. لذلك دعونا انهيار أسفل بعض من هذه الاشياء والبحث في رسم بطاقة عشوائية، حسنا؟ هكذا رسم بطاقة عشوائية، كل ما تريد القيام به هو الحصول على بطاقة عشوائية للخروج من هذا self.cards، حسنا؟ بحيث رمز بسيط جدا كذلك. لذلك نحن مجرد الحصول على عدد صحيح عشوائي.

هذا ما قوس 4 عشوائي لا إذا كنت لا تعرف. انها مجرد وظيفة مكتبة C. فإنه يحصل على عدد صحيح عشوائي. ثم أن في المئة قليلا بعد ذلك يعني وزارة الدفاع - حسنا، صحيح مودولو - ثم self.cards.count هو عدد البطاقات في self.cards لدينا.

حسنا؟ لذلك نحن ذاهبون لمجرد الحصول على مؤشر عشوائي في self.cards، ثم تعيين بطاقة عشوائية لتكون مربعة self.cards مؤشر قوسين، حسنا؟ لذلك هذا هو نفس تلك الأقواس المربعة للوصول إلى نوع مجموعة من بناء الجملة. وانها مثيرة للاهتمام،

أن مؤشر أقواس مربعة self.cards، في الواقع، هذا هو إرسال رسالة صدقوا أو لا تصدقوا. هذا هو نفس الاعتراض self.cards في مؤشر الرقم القياسي. حسنا؟ انها مجرد بعض تركيب خاص ونحوي السكر لتجعل من ذلك أن لم يكن لديك أن يكون مؤشر إضافة كائن طويل.

انها تعترض الواقع في الفهرس التي تشترك أو شيء مع طويل اسم الأسلوب الحقيقي. لذلك هذا هو مجرد، والقليل جملة بسيطة جميلة. ولكن هذا هو رسالة ترسل للحصول على بطاقة في ذلك مؤشر من مجموعة. وبعد ذلك نحن ذاهبون أيضا إلى إزالة تلك البطاقة

من مجموعة لأن هذا هو رسم بطاقة عشوائية، حسنا؟ انها رسم بطاقة من سطح السفينة. حتى انها ليست في سطح السفينة بعد الآن، أليس كذلك؟ الآن، هناك مشكلة مع هذا الرمز أيضا، وهو: ماذا لو سطح فارغ؟ حسنا؟ إذا كان سطح فارغ، ثم أن مؤشر غير موقعة يسير

أن يكون صفرا، والحق، لأنه سوف أن قوس 4 صفر زارة الدفاع عشوائي. وهذا ما سوف يكون صفرا. وهكذا كنت سأقول، "بطاقة عشوائية يساوي self.card دون الصفر." حسنا، هذا يحدث تعطل البرنامج

لأنه إذا self.cards هو مجموعة فارغة، ثم هناك أي كائن في مؤشر الصفر، وأنت تسير للحصول على مؤشر مجموعة خارج الحدود. حسنا؟ لذا كن حذرا من ذلك. مؤشر - لا يمكنك الحصول على المؤشر - إذا لم يكن لديك مجموعة كائن

من أن مؤشر، لا يمكنك الحصول عليه. بحيث من السهل لإصلاح، وبالرغم من ذلك. نحن ذاهبون لمجرد القول، "إذا عد self.cards" وبعبارة أخرى إذا كانت هناك أشياء في مجموعة "، ثم نحن سوف نفعل ذلك. وإلا فإننا ذاهبون لمجرد العودة بطاقة عشوائية "

وأنا تهيئة لحسن الحظ لا شيء في بداية لي طريقة. وهذا هو السبب في النوع الأول من مثل هذا الشيء من تهيئة عليه إلى القيمة الافتراضية التي تريد، ثم تعيينها، ثم يعود. وبهذه الطريقة إذا فشل الإعداد لسبب ما مثل هذا - أنه فشل بسبب عدم وجود بطاقات في سطح السفينة -

فإنه سيعود الافتراضي معقول. وهذا النوع عادل من شيء أسلوب الترميز. حسنا؟ فعلنا نفس الشيء مع النتيجة والمباراة. حسنا؟ أي أسئلة حول هذا الموضوع؟ بلى؟ [غير مسموع]

>> بول هيجارتي: السؤال الكبير. لذا فإن السؤال هو: متى يمكنني استخدام NS عدد صحيح أو عدد صحيح NSU مقابل عدد صحيح أو حتى NS، الذي هو كائن ونحن لم نتحدث عن بعد؟ والجواب هو انها مسألة من النمط. وسنتحدث قليلا عن هذا النمط

ومتى تستخدم هذه الأشياء. هنا لا أريد حقا أن استخدام عدد NS الذي هو كائن عندما أنا مجرد استخدامه، كما تعلمون، كشيء المحلي القليل من هذا القبيل. انك لن تفعل ذلك. كنت تستخدم أرقام NS الأساس

لتمريرها إلى الأساليب. وحتى ذلك الحين يمكن تمرير [إينتس]، كما تعلمون، وعوامات. لذلك سيتم أصبح من الواضح كما أتحدث عن عدد NS، الذي سنقوم به الأسبوع المقبل. حسنا. ذلك أن كل شيء على سطح السفينة. سطح السفينة، وفئة بسيطة جدا كذلك.

لذلك دعنا ننتقل إلى فئة أخرى، التي تلعب البطاقة. حسنا؟ السبب أنا يظهر البطاقات التي لعب، أريد فقط أن تظهر لك ما يبدو لجعل فئة فرعية من فئة أخرى أن كنت قد كتبت. حتى لعب الورق لفئة فرعية من البطاقة. وهذا هو بطاقة معينة مثل ملك القلوب،

ثلاثة من الماس، وهذا النوع من البطاقات، حسنا؟ الآن، لديه الخصائص التي هي محددة لبطاقة اللعب، وهي دعوى ورتبة. حسنا؟ رتبة يجري وكأنه ثلاثة، أربعة، جاك، الملك، أليس كذلك؟ ودعوى كونها قلوب والماس والنوادي.

وانا ذاهب لتمثيل دعوى كحرف واحد - الأحرف القلوب، والطابع الأندية. أذكر أنني كتابة الحرف أندية أعتقد في بطاقة نحن قد أظهرت أن. انا لا اعرف. ولكن يمكنك كتابة حرف واحد.

لديها يونيكود شخصية لكل من الدعاوى الأربع. وهذا ما بلدي دعوى سيكون. ثم رتبة سيكون عدد بين صفر وثلاثة عشر. غير أن الملك؟ بلى. يمثل رتبة.

هذه هي الطريقة التي انا ذاهب لتمثيل في API العام بلدي. وهنا أنا باستخدام إشعار NSU صحيح بدلا من صحيح غير الموقعة. حتى NSU صحيح وصحيح غير الموقعة هي بالضبط تقريبا نفس الشيء. الشيء الوحيد عن NSU صحيح هو انها typedef و. قد تكون مختلفة قليلا على منصات مختلفة.

على سبيل المثال، 5S فون الجديدة تجهزه 64 بت. حتى NSU صحيح سوف تكون كثافة العمليات 64-بت، صحيح غير الموقعة على اي فون 5. وربما فقط حوالي 32 بت واحدة الى الوراء على اي فون 4 ومن قبل. حسنا؟ بحيث يختلف قليلا.

ولذلك فإن كثافة طفيفة. كنا ربما لا تمثل الأعداد الصحيحة. بالتأكيد هنا نحن ذاهبون فقط صفر إلى ثلاثة عشر. ربما لا يهم. ولكن، كما تعلمون، نحن لا تمثل الأعداد الصحيحة التي هي العملاق بحيث نحن ذاهبون إلى استخدام بت ال33.

لذلك نلاحظ أن في بطاقة اللعب أننا تجاوز بطاقة محتويات الأسلوب. حسنا؟ ورثناها من محتويات الطبقة المتفوقة لدينا. ومحتويات الافتراضي فقط بإرجاع قيمة مهما كانت الملكية محتويات هو. ولكن هنا في بطاقة اللعب ونحن في طريقنا لتجاوز محتويات

لحساب الواقع محتويات لدينا، بناء على هذين غيرها من الممتلكات. حسنا؟ لذلك نحن تجاوز جالبة المحتويات بحيث دائما بإرجاع سلسلة - محتويات هذه البطاقة اللعب - التي يتم حسابها من الدعوى ورتبة.

ترى ما نفعله هنا؟ لذلك نحن مع الأخذ في الأساس تخزين المحتويات - محتويات underbar - من وجهة نظرنا الفائقة وتجاهله لأننا تجاوز جالبة لها. حسنا؟ لذلك هذا هو سبب وجيه تماما لماذا نفعل هذه خصائص وكذلك لأنه قد يكون لدينا طريقة أفضل

أن تفعل أشياء من التخزين. الآن، وهنا الطريقة التي يمكن تنفيذها: يمكننا فقط بإرجاع سلسلة، حسنا؟ NS سلسلة، سلسلة مع شكل تماما مثل سلسلة جي printf. لا تقلق بشأن ذلك التركيب كثيرا. وأنا printf جي سلسلة مع بالمئة D وفي المئة في علامة.

حتى في المئة D يعني صحيح. في المئة في إشارة تعني كائن. حسنا؟ تمثيل سلسلة من كائن. ثم أنا فقط باستخدام رتبة ودعوى. ولذلك فإن هذا سيكون أحد السبل للقيام محتويات بلدي. انها ليست وسيلة جيدة جدا لأنه، على سبيل المثال، ان جاك من قلوب ويقول 11 القلوب، حسنا؟

انها لن أقول J على الأقل؛ نريد أن نقول J، وليس 11. حتى هذه ليست وسيلة جيدة جدا. بدلا من ذلك أنا ذاهب لجعل مجموعة التي لديها كل الأمور في نصابها الصحيح مثل ألف لواحدة، وJ ل 11، وس 12، وK 13، أليس كذلك؟ لذلك أنا مجرد جعل هذه المجموعة هنا.

في منتصف هناك اضطررت الى قطع لجعله مناسبا، أليس كذلك؟ وأنا حتى جعل الصفر علامة استفهام يكون. حتى إذا رتبتك صفرا، فإنه سيكون مثل، علامة استفهام، مثل إلغاء تعيين. تعلمون، هو في الأساس لم يتم تغيير رتبتك. ثم أعود والسلسلة، والذي يأخذ رتبة من

أن مجموعة وإلحاق على ذلك سلسلة دعوى قليلا، قلب، أو النادي، أو الماس. الجميع يفهم هذا؟ انا من النوع مما يتيح لك هذا حتى تستطيع أن ترى كيف نقوم خلط في تدوين مجموعة، ورسالة القصيرة، وذلك كل نوع يمزج من بسلاسة في هناك.

حسنا؟ وحتى الآن محتويات ترجع J القلوب، أو 5 الماس، أو أيا كان. لاحظ أن ترتيبنا هو لطيف حقا لأنه إذا كان ترتيبنا هو صفر، والتي تبدأ بها كونها عندما نقول بطاقة اللعب الجديدة - جميع المتغيرات سبيل المثال هي صفر حتى أن رتبة يكون صفرا -

نحصل على هذا علامة استفهام لطيفة. لكن دعوى لدينا يبدأ من حيث لا شيء، وأنه سيكون من الرائع إذا عاد الدعوى أيضا علامة استفهام إذا كان لم يذكر، إذا كان لا شيء. حتى هنا أنا فقط تجاوز جالبة للدعوى أن أقول، "إذا عودة، واذا بي الدعوى هو لا شيء، ثم يعود علامة الاستفهام،

خلاف ذلك عندما بلدي دعوى من لا شيء، ثم العودة ما هي هذه الدعوى ". حسنا؟ لذلك أنا مجرد نوع من حماية API بلدي للتأكد من أنني دائما العودة علامة استفهام عندما لم يتم تعيين رتبة أو دعوى. بلى.

>> [غير مسموع] >> بول هيجارتي: آسف. كل قليلا في علامات - الأحمر في علامات، تقصد؟ بلى. أعتقد أننا لم نصل الى ذلك في البطاقة. ولكن قد يكون لدينا. ولكن تذكر أن كل السلاسل التي نحن في طريقنا للعمل

مع في هذه الفئة هي كائنات سلسلة، لا CONST النجوم الرعاية، أليس كذلك؟ انهم كائنات سلسلة. والمترجم، إذا قمت بوضع علامة أمام سلسلة، وستجعل كائن سلسلة لك، حسنا؟ وهذا ما تلك في علامات به،

أنها تجعل كل تلك السلاسل تكون الأجسام سلسلة لأننا لا يمكن أن تضع نجم الرعاية CONST في مجموعة NS. NS مجموعة هي لكائنات، لذلك لدينا لوضع الأشياء هناك مثل سلاسل NS. تلك هي الكائنات. حسنا؟ سؤال جيد.

بلى؟ [غير مسموع] >> بول هيجارتي: نعم. حسنا. هذا سؤال جيد. وإذا كنا قد استخدمت هذا جالبة يساوي التدوين التي استخدمناها ليتم اختيار ومطابقة لتغيير الاسم،

ثم عندما تجاوز لدينا لاستخدام الاسم الجديد. كنا قد لهو أيا كان. الآن، وهذا ليس هو الحال هنا. لكنني أعرف ما تقوله، ونعم، سيكون لديك لاستخدام الاسم الجديد. السؤال الكبير.

أي أسئلة أخرى حول هذا الموضوع؟ حسنا. بحيث يساعد الدعوى دوما بإرجاع علامة استفهام إذا كانت الدعوى معدومة أو لم يحدد بعد. دعونا أيضا حماية الناس وضع الدعوى إلى شيء ما خطأ. حسنا؟ دعونا ندع الناس فقط تعيين دعوى باستخدام هذه الخاصية،

واضع العامة للممتلكات. ونحن سوف تتيح شخصا فقط تعيين دعوى لتكون واحدة من الدعاوى الأربع. لذلك أنا فقط على الطاير في منتصف إنشاؤها هناك مجموعة من تلك الدعاوى الأربع. وبعد ذلك استخدام هذا الأسلوب يحتوي الكائن؛

ما الدرجة رأيك يحتوي الكائن هو من هذا الشيء على؟ أي واحد؟ [غير مسموع] >> [غير مسموع] >> بول هيجارتي: إنها طريقة مجموعة NS، بالضبط. لذلك يحتوي الكائن عبارة عن طريقة مجموعة NS. أنا إرساله إلى مجموعة التي أقوم بإنشائها الحق في مكان هناك.

مجموعة لها القلوب، والماس، البستوني، والنوادي في ذلك. وأنا أسأل فقط: هل تتضمن هذه السلسلة؟ والذي يحتوي الكائن سوف مقارنة محتويات من هذه السلسلة ضد كل هذه باستخدام طريقة غير متساوية. في الواقع، انه سيكون على القول يساوي كل أربعة منهم

مع الدعوى كما الوسيطة. لا يساوي إلى سلسلة - غير متساوية. وفي سلسلة تساوي تنفذه الدعوة يساوي إلى سلسلة إذا كانت الوسيطة في سلسلة. على أي حال، والتفاصيل أكثر مما تحتاج ربما هناك. ولكن من الواضح أن هذا حمايته.

لذلك ليس هناك طريقة يمكن أن يحدد لنا متغير تخزين دعوى الداخلية إلى أي شيء ما عدا تلك الدعاوى الأربع. بلى؟ [غير مسموع] >> بول هيجارتي: السؤال الكبير. يا رفاق على حق على أعلى من ذلك.

هكذا في كل مرة يمكنني استخدام العلامة فتح قوس مربع - واحدة زرقاء - لخلق مجموعة، وهذا ما خلق في الواقع مجموعة جديدة في كل مرة. حسنا؟ لأنني قلت لك أن هذا في علامة قوس مربع وجميع هذه الاشياء مجموعة هو في الحقيقة مجرد استدعاء الأساليب؟ حسنا، هذا هو استدعاء أسلوب مثل الحرف الأول الوك مع مجموعة

مع الأشياء أو شيء من هذا القبيل. حق؟ لذلك هو خلق له. لذلك سيكون من الجميل أن تتحرك بها، ونحن في طريقنا للقيام بذلك. على الرغم من، ومرة ​​أخرى، يجب الحرص على عدم preoptimize. ربما لن تجعل أي اختلاف. انا ذاهب فقط لنقلها إلى أجعل نظافة المدونه؛

أنا لن تتحرك بها لأي سبب من الأسباب الأداء. بلى؟ >> [غير مسموع] >> بول هيجارتي: نعم. >> [غير مسموع] >> بول هيجارتي: والسؤال هو: هل LLVM فقط رعاية

لذلك، وتحسين أنه من أصل بالنسبة لك؟ وربما لن لأن هذا هو إرسال الرسالة؛ انها ليست على يقين من ما قد يكون هناك آثار جانبية له. ولكن على أي حال، نحن ذاهبون لمجرد القيام بذلك فقط لجعل نظافة كود نظرة. والأداء ستكون ضئيلة هنا.

نحن نتحدث عن واجهة المستخدم. انها ليست حتى قريبة. شيء واحد أن نلاحظ، مع ذلك، قبل ان نفعل ذلك وبما أننا قد نفذت على حد سواء واضع وجالبة للدعوى، والمطلوب الآن علينا أن تفعل في توليف علامة. حسنا؟ وبعبارة أخرى، وعادة ما لم يكن لديك

للقيام بذلك في توليف علامة. يحصل القيام به بالنسبة لنا. ولكن إذا أردنا تنفيذ كل واضع وجالبة، والآن نقوم به. فإنه من السهل القيام به لأنه دائما من هذا النموذج نفسه بالضبط. لكننا يجب أن نفعل ذلك.

حسنا. حتى هنا - دعونا نفعل ما كنا نقوله. دعونا نلقي أن مجموعة صغيرة من الدعاوى لدينا في وجود ووضعها في طريقة أخرى. الآن، مرة أخرى، أنا لا تحصل على أي الأداء من خلال القيام بذلك، حسنا؟ أنا مجرد الحصول على نظافة الشفرة عن طريق القيام بذلك لأنني ما زلت - في كل مرة أدعو الدعاوى صحيحة،

انه سيكون لإنشائه مرة أخرى. الآن، ويمكنني أن استخدام متغير ثابت. هذا هو C. أتمكن من تخزين هذه المجموعة. بدأ يجري شيء. اذا كان لا شيء، لأنها مجموعة هذه المجموعة، وبعد ذلك سوف يخلق مرة واحدة فقط.

لكن كن حذرا. مرة أخرى، والنظافة كود ويمكن تفهمه عشر مرات أكثر أهمية من أداء مثل هذا. لذلك إلا إذا كنت تريد الذهاب إلى استدعاء الدعاوى صالحة في حلقة داخلية آلاف المرات،

انها ليست حقا ليهم. ولكن بمجرد أن أنتقل إلى أن ما يصل إلى أسلوب مختلف، هذا النوع من الطريقة التي انتقلت إلى مختلف قليلا. لاحظ أن لديها زائد. ترى بالإضافة إلى أن هناك بدلا من ناقص البدء بتشغيله؟ بالإضافة إلى NS مجموعة الدعاوى صالحة؟

حسنا. وهناك طريقة زائد هو أسلوب فئة. حسنا؟ وهذا يعني أنك إرساله إلى فئة، لا مثيل كائن. حسنا؟ لذلك منذ كنت لا إرساله إلى مثيل، لا يمكنك استخدام أية متغيرات سبيل المثال أو أي شيء من هذا القبيل.

يمكنك فقط مجرد نوع من يفعل الاشياء عام. ذلك الشيء الوحيد الذي حقا استخدام أساليب زائد ل، أساليب الفئة، هو شيئين حقا: خلق الأشياء كما هو الحال في الشريحة السابقة عندما كان لدينا سلسلة مع شكل - هذا هو أسلوب الفئة التي تم إنشاء سلسلة بالنسبة لنا. وبعد ذلك أيضا أساليب فائدة مثل هذا،

مثل الثوابت العودة والأشياء التي، كما تعلمون، طبقتنا تريد وطرق فائدة. ولكن هنا مثال على ذلك. والطريقة نسميه أسلوب فئة - كنت قد رأيت بالفعل لي الدعوة لعدد قليل منهم - ولكن هنا المتصل هنا وضعنا فتح قوس مربع،

اسم الصنف، اسم الأسلوب. ومرة أخرى، فإنه يمكن أن يكون الحجج. انها مجرد مثل أي طريقة أخرى. ولكن الجميع فهم هذا؟ حسنا. واذا ذهبت الى الوراء والنظر إلى الشرائح زوجين وترى قوس مفتوح مربع NS سلسلة، سلسلة مع شكل،

نوع بالضبط نفس بناء الجملة. حسنا؟ وهذا ما يبدو وسيلة الطبقة مثل. مرة أخرى، لخلق أشياء في الأساس ولأساليب فائدة. وسوف نتحدث عن الفرق في: عندما لا نخلق شيئا

مع أسلوب فئة مقابل الحرف الأول الوك؟ سنتحدث عن ذلك في وقت قريب. انا ذاهب أيضا إلى تقديم دعاوى صالحة الجمهور. وبهذه الطريقة الناس الذين يستخدمون بطاقتي اللعب يعرفون ما الدعاوى الصالحة. وكل ما عليك القيام به هو وضعها في ملف الرأس.

ازدهار، انها العام الآن. حسنا؟ لذلك دعونا نفعل شيئا مماثلا هنا مع تلك السلاسل مرتبة. حسنا؟ لذلك أنا ذاهب إلى اتخاذ تلك السلاسل صفوف - أن مجموعة من السلاسل رتبة حق هناك - وانا ذاهب الى أن وضعت في أسلوب فئة.

حسنا؟ ومرة أخرى، وهذا هو من أجل قراءة، وليس للأداء. لأن في كل مرة أدعو سلاسل رتبة، فإنها ما تزال مستمرة لخلق هذا الشيء مرة أخرى. وبعد ذلك يطلق عليه بدلا من ذلك هناك. وأنا لن تجعل النصوص رتبة نفسه الجمهور،

ولكن انا ذاهب الى جعل أسلوب فئة أخرى تسمى رتبة القصوى، التي تبدو تماما في كيفية العديد من سلاسل هي في سلاسل رتبة. وانا ذاهب الى العودة أن كوسيلة العام. ولذلك لا يوجد ثلاث طرق الدرجة بالنسبة لك لإغراق أسنانك إلى - اثنان منهم العام، واحد لا. حسنا.

وحتى انهم كل الطرق فائدة، أليس كذلك؟ نحن لا الوصول إلى أية متغيرات سبيل المثال في أي من هذه الأساليب، حسنا؟ هذا هو السبب الوحيد الذي أنا تظهر تلك، هو فقط حتى ترى ما يبدو من أسلوب فئة مثل. نحن أيضا يمكن أن تجاوز اضع من رتبة فقط

أن يكتمل هنا للتأكد من أنه لا يسمح لك لتحديد رتبة خاطئة مثل مجموعة رتبة 15 - ليس هناك مثل هذه البطاقة إلى 15. لذلك دعونا نتأكد من أن رتبة أقل من الحد الأقصى رتبة، وهو الأسلوب فائدة فعلنا فقط. حسنا؟ هل هذا يأتي كل ذلك معا بالنسبة لك، معنى؟

لذلك هذا هو نوع من المواد المرجعية. لديك هذه الشرائح التي لديها كل الشروح من جميع الأشياء أقوله. لذا لا تتردد في العودة وننظر في الأمر وتذكير نفسك عن كل هذه NS مجموعة، لغوي، وجميع أساليب الفئة، كل هذه الأشياء.

حسنا. آخر شيء نحن في طريقنا للبحث في هو عمل طريقة الحرف الأول. حسنا؟ لذلك نحن ذاهبون الى فئة أخرى تسمى هنا لعب سطح البطاقة. حسنا؟ وظهر بطاقة اللعب هو فئة فرعية من سطح السفينة.

حسنا؟ وليس لديها أي API العام. انها مجرد الذهاب إلى تجاوز أسلوب أن يرث غير مباشر من وجوه NS - حسنا، الكائن NS من خلال سطح السفينة، التي لا مسها - كل وسيلة للعب سطح البطاقة.

ويسمى هذا الأسلوب الحرف الأول. حسنا؟ لذلك هذا هو نفس الحرف الأول، نفس النوع من طريقة أنه عندما أنشأنا أن مجموعة - أن مجموعة قابلة للتغيير قلنا NS قابلة للتغيير مجموعة الوك الحرف الأول. ذلك ما يجري لهذه الكلمة بطاقة اللعب طريقة سطح السفينة الحرف الأول - وهي لكم في واجبك ذاهبون لهذه الكلمة

عن طريق القيام اللعب بطاقة سطح السفينة الوك، وبعد ذلك في الخارج، والحرف الأول. حسنا؟ وهذه هي الطريقة التي تسير لإنشاء سطح السفينة بطاقة اللعب. وهذه هي الطريقة التي نخلق معظم الحالات من الأشياء - ليس كل شيء. أحيانا نفعل أشياء مثل NS سلسلة، سلسلة مع شكل.

ولكن في معظم الوقت - أكثر من نصف الوقت - نقوم به الوك ثم على الحرف الأول الخارجي. حسنا. الاستماع بعناية: أبدا استدعاء هذا الشيء الوك دون التفاف على الحرف الأول من حوله. حسنا؟ لا من أي وقت مضى القيام بذلك. أن لا معنى لوكائن تخصيص

في كومة وهذا ما لم تتم تهيئة. دائما أن متداخلة. والعكس بالعكس: لا يدعون أن الحرف الأول باستثناء لأنه عندما كنت ألفه حول والوك. وبالتأكيد لا يدعون أن الحرف الأول أكثر من مرة واحدة. حسنا؟ وإذا سمعتم حكم بلدي الدعوة فقط أنها ملفوفة

حول وجود الوك، لا يمكن أن نطلق عليه أكثر من مرة واحدة. حسنا؟ التهيئة ليست شيئا مثل يمكنك إعادة الحرف الأول. يحدث التهيئة مرة واحدة مباشرة بعد الوك، وهذا كل شيء. حسنا؟ هذا هو حكم الجاد والسريع نحن أبدا كسر. حسنا؟ لذلك كنت سمعت هنا. لا تنسى.

حسنا. دعونا ننظر في نوع الإرجاع أحمق إلى هذه الطريقة الحرف الأول، حسنا؟ قد تعتقد أن هذا الأسلوب الحرف الأول يجب إرجاع بطاقة اللعب نجمة سطح السفينة لأنها نوع من تهيئة وربما يعود نفسه. في واقع الأمر، الحرف الأول لا يعود دائما الذاتي، حسنا؟

حتى الحرف الأول دائما ما يعود النفس. حسنا. المزيد whackiness هناك، وأنا ذاهب لوصف. فقط للراحة، فإنه يعود دائما الذاتي بحيث يمكنك القيام به، مثل، ولعب بطاقة سطح السفينة الوك الحرف الأول، أرسلت منه الرسالة. حسنا؟ حتى انها مجرد الراحة التي تقوم بإرجاع النفس. ولكن لا يمكن أن يكون حقا نوع الإرجاع كونها بطاقة اللعب بها

نجمة سطح السفينة لأنها ورثت هذا من وجوه NS. وجوه NS تعرف بالفعل أنها نجمة كائن NS. هل ترى؟ حتى انها نوع من غريب ان كنت وراثة طريقة التي سيكون لها قيمة الإرجاع لتغيير كل مرة تقوم فيها، كما تعلمون، تجاهلت ذلك. لذلك اخترعوا هذا شيء جديد - وهذا هو جديد لدائرة الرقابة الداخلية 7،

بالمناسبة - دعا نوع المثال. وما المثال نوع يعني هذا يجري للعودة كائن موجود من نفس المثال - نفس النوع، نفس النوع الطبقة - كما الكائن الذي أرسلت هذه الرسالة إلى. حسنا؟ الأمر الذي يجعل الشعور بالكمال لinits.

وفي هذه الفئة وهذا ربما كل ما ذاهبون لاستخدام هذه لهنا. حتى إذا كنت لا أفهم حقا ما قلت للتو - وأوضح أنه في الشرائح - ولكن إذا كنت لا أفهم حقا، ونعرف تماما أنه كلما كنت تفعل مهيئ،

انها سوف تعود نوع المثال كنوع عودتها وأنت تسير دائما للعودة الذات. حسنا؟ الآن، كما تأخذ فقط كلمة بلدي لذلك. ونحن في طريقنا للقيام بهذه السطور القادمة من رموز فضلا لأنها غريبة حقا. أن السطر الأول، والنفس يساوي سوبر الحرف الأول، وهذا هو غريب.

هذا هو السوبر غريب. حسنا؟ تعيين شيء في تقرير المصير في الهدف C - فقط لا تفعل ذلك إلا لهذا مرة واحدة وهذا في الحرف الأول الخاص بك. حسنا؟ كنت تأخذ النفس وتعيين ذلك إلى الدعوة superclasses مهيئ الخاص بك

بحيث يحصل تهيئة الفائقة الخاصة بك. لماذا نعلق على نتيجة تقرير المصير؟ انها نوع من التاريخ القديم لماذا هذا وقد تم ذلك لفترة طويلة. في الأساس نحن فحص عودة superclasses الحرف الأول لدينا للتأكد من تهيئته بشكل صحيح.

لأنه في أي وقت إذا كان مهيئ الخاص بك لا يمكن تهيئة في حد ذاته، وينبغي أن يعود لا شيء. حسنا؟ وهذا يتيح الجميع يعرفون أي من الفئات الفرعية الخاصة بك أو أي شخص يحاول الوك وتهيئة لك، لا يمكن إنشاء كائن بشكل جيد. حسنا؟ لذلك يمكنك أن ترى كيف هذا الرمز، والغريب كما هي -

يساوي النفس سوبر الحرف الأول، ثم إذا النفس، انا ذاهب الى تهيئة نفسي، والعودة الذات - ما يجري للتأكد من أن كنت لا تحاول حتى تهيئة نفسي إذا كان لي الفائقة، عندما أدعو الحرف الأول لها، كما تعلمون، لا يمكن تهيئة نفسها. حسنا؟ حتى مجرد القيام بذلك.

إذا كنت لا تفهم ذلك، لا تقلق بشأن ذلك كثيرا. افعل ذلك. الآن، شيء واحد هنا هو أننا نتحدث الحرف الأول حول بدون وسائط. ومن الممكن أن يكون المهيآت بحجج لأن في بعض الأحيان تحتاج الحجج

التهيئة بشكل صحيح فئة. ونحن بصدد الحديث عن أن أكثر قليلا يوم الاثنين. حسنا؟ حتى اليوم ونحن ذاهبون لمجرد نوع من العظام العارية الحرف الأول. فماذا يعني هذا التهيئة عليك القيام به؟ ماذا يجب أن أفعل لديها اللعب تهيئة بشكل جيد بطاقة سطح السفينة؟

حسنا، سطح السفينة بطاقة اللعب ديه 52 ورقة في ذلك، واحد من كل نوع من البطاقة. حسنا؟ ملك النوادي، وثلاثة من الماس - كل 52 منهم. لذلك أنا فقط بحاجة إلى تكرار لجميع الدعاوى، ومن ثم تكرار من خلال جميع الرتب، وإنشاء بطاقة، وإضافته إلى نفسي.

حتى هنا لي بالتكرار عبر الدعاوى، بالتكرار عبر صفوف. الجميع باردة مع ذلك؟ ثم انا ذاهب الى استيراد بطاقة اللعب لأنني ذاهب لإنشاء بطاقة اللعب، ولعب بطاقة الوك الحرف الأول. ثم انا ذاهب لوضع

رتبة تلك البطاقة، يحدد أن الدعوى البطاقة. رتبة ودعوى هي بلدي قليلا المتغيرات التكرار هناك. ثم انا ذاهب لإضافتها إلى نفسي. أنا على سطح السفينة، بحيث بخير تماما. الجميع باردة مع هذا الرمز؟ حتى الآن أنا بشكل جيد يلعب سطح البطاقة، وأنا يمكن استخدامها

رسم بطاقات عشوائية وجميع الاشياء التي، التي ستحتاج القيام به لبأداء واجبك. حسنا؟ في واقع الأمر، لالمنزلية الخاصة بك وأنت تسير لديك لكتابة كل أربعة من هذه الفئات في. أريدك أن الحصول على دروس تجربة الدخول، كتابة شيء، كما يراقب يشكو كسكودي عليك

كما كنت أخطأت أشياء، وأشياء من هذا القبيل. ثم وأنت تسير أن استخدام سطح السفينة بطاقة اللعب واللعب بطاقة. حسنا، ولعب سطح البطاقة والبطاقة هي في الواقع اثنين من أهمها كنت على وشك أن تستخدم لتقوم بأداء واجبك. حسنا؟ أسئلة حول ذلك؟

حسنا. ذلك أن كل شيء على الشرائح. حتى الآن أنا ذاهب الى القيام تجريبي قديمة كبيرة. وهذا العرض سوف لدمج كل شيء كنت قد رأيت حتى الآن، حسنا؟ أبرزها أن MVC الاشياء تحدثنا عنها، مثل العمل المستهدفة، كما تعلمون، واسقاط الهدف

واطلاق النار على العمل أو السهم الأخضر منفذ الذي يشير إلى الجهة الأخرى. حسنا؟ ونحن في طريقنا لتظهر لك ما التي تبدو في الواقع كما في كسكودي. اعتقد انه عندما سألت الذين لكنت قد فعلت كسكودي، تقريبا كل واحد منكم رفع يديك.

لذلك أنا لن تنفق الكثير من الوقت في الحديث حول جميع الأزرار في كسكودي. أعتقد أنني سوف تمر بسرعة على تلك. ولكن إذا كنت لم تستخدم كسكودي، انها في الكثير جدا من التفاصيل في الشرائح محاضرة. هناك نوع من هذه تجول.

بالمناسبة، إذا كنت بعد طول في الشرائح محاضرة، بلدي تجريبي انها لن تكون بالضبط مثل ما هو في الشرائح. الشرائح تغطي أكثر قليلا مما كنت يمكن أن تغطي في أربعين دقيقة هنا. وانها أيضا المواد المرجعية.

حسنا؟ لذلك إذا كنت تفعل شيئا اليوم في هذا العرض، وكنت مثل، "أوه، كيف يفعل ذلك؟" إذا كنت يذهب للبحث في تلك الشرائح، وسوف اقول لكم. حتى لا تشعر مثل، "وصلت إلى إرسال بشراسة أسفل كل النقر على زر انه ذاهب الى القيام به في دقائق التالية أربعين ".

لا يمكن. حسنا؟ اتبع جنبا إلى جنب في تلك الشرائح إذا كنت تريد، أو مجرد إغلاق جهاز الكمبيوتر المحمول، ومشاهدة، والسماح لها تغرق في لأنك ستكون لدينا لإعادة إنتاج ما أفعله في دقائق التالية أربعين لبأداء واجبك. وهذه الشرائح يتم الانتقال إلى المشي لكم

من خلال خطوة بخطوة كيفية القيام بذلك. حتى لا تشعر وكأنك تحتاج إلى القيام بأي شيء في الوقت الحالي ولكن دعونا كل هذا الحوض في. التعود على ما يجري. حسنا؟ ثم عند الجلوس للقيام بذلك، سيتم توجيهك من خلال ذلك.

الاسبوع المقبل ونحن في طريقنا للحديث الكثير عن الهدف جيم، الإجابة على بعض هذه الأسئلة أكثر تفصيلا مثل عدد NS وبعض من هذه الأمور الأخرى الناس يتساءلون. وسوف نتحدث عن بعض الأمور المحددة حول الهدف جيم مثل حيوية ملزمة، والبروتوكولات، والأشياء التي لا ترى عموما بقدر

في لغات أخرى أو لا وجود لها في لغات أخرى. لذلك سنحاول تغطية كل ذلك. لذلك بحلول نهاية الاسبوع المقبل كنت ما يصل الى سرعة في الهدف جيم. كنت بدأت لتشغيل حقا مع كسكودي. وذلك بعد أسبوع من أننا يمكن أن تبدأ فعلا القيام ببعض،

كما تعلمون، دائرة الرقابة الداخلية عالية الطاقة 7 الاشياء. حسنا. لذا التجريبي هنا. [غير مسموع] ذلك. حسنا. لذا التجريبي انا ذاهب لتشغيل في إكس كود. لذلك أنا ذاهب لمجرد إطلاق كسكودي.

حتى كسكودي تحصل عن طريق تشغيل - الذهاب الى المتجر ماك الخاص بك. هذا هو هذا الشيء إلى هنا، أليس كذلك؟ الحصول على متجر التطبيقات على جهاز ماكنتوش، وكنت للتو بحث عن كسكودي، العثور عليه. انه مجانا. يمكنك تحميل البرنامج وتشغيله.

حسنا؟ الأمر بهذه البساطة. هذا هو ما أريد لها أن تبدو عند أول جعله يصل، هذه شاشة البداية هنا. وكما يقول الثمانية يوم، وهذا سوف تملأ مع كل المشاريع التي كنت تفعل. ربما كنت تستخدم لذلك إذا كنت تعرف كسكودي.

وما نحن في طريقنا للقيام اليوم هو إنشاء مشروع جديد. يمكنك إما مراجعة مشروع قائم من التحكم بالمصادر أو يمكنك إنشاء واحدة جديدة. وهكذا نحن في طريقنا لإنشاء واحدة جديدة. حتى عندما وإنشاء واحدة جديدة، فإنه يريد أن يعطينا قليلا المساعدة من خلال تقديم لإنشاء قالب لأنواع مختلفة

من التطبيقات مثل لعبة بينغل. حسنا. فإنه سيتم إنشاء بعض إطارا لذلك لك. تطبيقات سيد التفاصيل، شيء ونحن في طريقنا للقيام في وقت لاحق في هذا الربع، على الرغم من أننا ذاهبون لبناء كافة التعليمات البرمجية أنفسنا. نحن لا تنوي استخدام هذا القالب.

وهذا واحد نظرا تطبيق واحد هنا هو في الأساس واحد MVC، وهو كيف نحن ذاهبون أن تبدأ جميع من طلباتنا في هذا الفصل الدراسي - مع MVC واحد. ثم نحن في طريقنا لإضافة المزيد من MVCs وبناء. حسنا؟ لذلك هذا هو التطبيق MVC واحد أساسي. لذلك أنا ذاهب إلى فوق ذلك.

وهنا أريد لها أن تسأل عن بعض المعلومات حول هذا الموضوع مثل ماذا تريد أن نطلق على هذا التطبيق؟ هذه هي لعبة بطاقة مطابقة لقد قررت للاتصال الفحولة، حسنا؟ بحيث سيكون اسم التطبيق لدينا لمجرد التسلية. واسم المؤسسة يمكن أن يكون أي شيء تريده.

انها سوف تظهر في رؤوس جميع الفئات التي تقوم بإنشائها. لذلك أنا جعل الألغام من جامعة ستانفورد. يمكنك جعل لك أن يكون البيت لعبة بوب أو أيا كان. وينبغي أن يكون هذا المعرف الفريد لك. لذلك ليس لدي edu.Stanford.cs193p.instructor.

قد يكون لديك نقطة edu.Stanford.cs193p الخاص بك معرف SUNet. وأن تكون فريدة من نوعها تماما. هذه DNS العكسي هو وسيلة جيدة حقا لإنشاء اسم فريد. وانها سوف تخلق اسما فريدا لهذا التطبيق

من خلال الجمع بين هذا مع الأسماء. حتى تستطيع أن ترى انها فعلت ذلك هنا، هذا المعرف حزمة. ثم هذه الفئة بادئة - هذا القالب هو ذاهب لإنشاء طريقة عرض وحدة تحكم بالنسبة لنا. وهذا هو القول، "ماذا تريد اسم الطبقة حدة التحكم الخاصة بك أن تكون؟ "

افتراضيا انها تسير على تسميته "تحكم الرأي،" بخير؟ ولكن إذا كنت اكتب شيئا هنا مثل "لعبة بطاقة،" الآن انها تسير ليتم استدعاؤها "لعبة وحدة تحكم بطاقة عرض" وهو قليل اسم أفضل بالنسبة لنا. ذلك أن مجرد البادئة انه سيكون وضعه على اسم من جهاز تحكم أنه يخلق لك.

ثم أخيرا هنا يمكننا خلق التطبيق هنا فقط لباد، أو لمجرد اي فون، أو التطبيق الشامل التي من شأنها أن تعمل على كل المنابر. الآن، عند إنشاء التطبيق الشامل، لا يزال لديك لتصميم واجهة المستخدم الخاص بك بشكل منفصل لأنه إذا كان لديك المزيد من قواعد الشاشة، كنت مجرد الذهاب

لتصميم واجهة مختلفة. حسنا؟ باد ليست مجرد فون كبير. يمكنك أن تفعل الكثير من الاشياء إذا كان لديك المزيد من العقارات الشاشة. ولكن لا يزال قد يكون لديك الكثير من الخاص بك MVC المشتركة، والحق، لأن ذلك قد يكون باد المناطق الفرعية الصغيرة التي هي في MVC

التي هي بالضبط نفس على اي فون أو آي جدا، تشبه الى حد بعيد. لذلك يؤيد تماما في دائرة الرقابة الداخلية 7 لبناء التطبيقات هذا الهدف كل المنابر ولها أدوات عظيمة ليتيح لك بناء بلدكم اثنين في واجهة المستخدم بشكل منفصل وحصة كل MVCs تحتها. حسنا؟ ونحن في طريقنا للقيام فون فقط هنا فقط

لأنها تحافظ على الشاشة الصغيرة وليس لدي سوى الكثير من العقارات هنا. [غير مسموع] >> بول هيجارتي: نعم. لذا فإن السؤال هو: إذا أنا في بلدي باد وأنا تشغيل التطبيق هذا فون فقط، نعم،

هناك واسطة مضاهاة أساسا من شأنها أن نوع من جعل كبير شيء على شكل فون على شاشة آي باد. لذلك نحن في طريقنا للقيام فون هنا. اذا هذا هو. انا ذاهب الى ضرب المقبل. بجانب أنه يريد أن يعرف،

"إلى أين أنت ذاهب أنها وضعت هذا المشروع؟" وإنني أوصي بشدة وضعه في دليل منزلك - في دليل يسمى "مطور" في دليل منزلك. حسنا؟ إلا ربما نحن نعمل على فئة مختلفة. ربما يكون لديك CS 193P

في الدليل الرئيسي والطبقة ثم أخرى. لكن خلاصة القول: وضعه في الدليل الرئيسي الخاص بك؛ لا وضعه، مثل، في الجذر أو في مكان ما من هذا القبيل. الذي لديه في الماضي تسبب مشاكل. ولكن مكان عظيم لوضعها هنا. هذا هو بلدي الدليل الرئيسي CS 193P هناك.

أرى الدليل الرئيسي المطور. هذا هو المكان الذي أنا ذاهب الى وضعه. ليس لدي أي مشاريع حتى الآن. هذا الشيء القليل إلى هنا، التحكم بالمصادر، سوف نتحدث عن ذلك. انها حقا متكامل لطيف في كسكودي، ولكننا لن

للحديث عن ذلك اليوم. لذلك ترك ذلك دون النقر عليها. وحتى هنا مشروع جديد لدينا. يمكنك أن ترى أنه يبين لنا هذه الشاشة، التي تحصل لمن خلال النقر على هذا الشيء كبير جدا هنا. لذلك هذا هو نوع من مثل إعدادات مشروعنا.

وهناك مجموعة كاملة من الإعدادات هنا. سنكون الحديث يجري كل هذه الاشياء في الربع تطول. ولكن اليوم نحن لسنا بصدد الحديث عن أي من ذلك لأننا نريد أن نركز على MVC. ولدينا MVC، هذا الحق هنا، main.storyboard، هو رأينا. حسنا؟ هذا هو رأينا لدينا MVC.

ثم ترى هذه البطاقة لعبة عرض تحكم M و H؟ هذا هو وحدة تحكم لدينا. ليس هناك نموذج هنا. النموذج الخاص بك ستكون تلك الفئات الأربع - سطح السفينة، وبطاقة، بطاقة اللعب، ولعب سطح البطاقة - التي ستكون النموذج الخاص بك.

وهكذا لن تضطر إلى الدخول في هذا في. وسوف تظهر لك في النهاية كيف نفعل ذلك. هذا الشيء القليل هنا، لعبة بطاقة (غير مسموع) نقطة H و M، سنتحدث عن ذلك لفترة وجيزة، وخصوصا عندما نبدأ بالحديث حول أشياء مثل تعدد المهام. ولكن أود أن تتحرك فقط تلك التي للخروج من الطريق.

لذلك أنا في كثير من الأحيان وضعها هنا في هذا المجلد ملفات الدعم. ويمكنك مجرد التقاط أي ملف، بالمناسبة، ونقلها في أي مكان تريد هنا إلى نوع من تنظيف وجهة نظركم. حتى هنا أنا عندي وجهة نظري وحدة تحكم بلدي يظهر هنا فقط. حسنا؟ لذلك دعونا نذهب مباشرة إلى وجهة نظر

ونرى ما يشبه. حتى هنا وجهة نظري. انها فون فارغ 5 الحجم، أليس كذلك؟ وجهة نظر طويلا ونحيفا. وكانت فارغة. لا جديد.

انه ابيض. هذا المجال على اليسار، بالمناسبة، أين نحن النقر على هذه الملفات، وهذا يسمى "الملاح". ولا يمكنك فقط تصفح كل الملفات الخاصة بك هنا، ولكن يمكنك التنقل نقاط لكسر الارسال الخاص بك، وبناء مشاكل، والتسلسلات الهرمية صفك.

كل ما الاشياء هنا. ذلك مرة أخرى، يعرف معظمكم كسكودي، لذلك ربما كنت أعرف معظم هذه الأشياء. سنكون demoing كل هذا في الربع تطول. ويسمى هذا المجال أكثر من هنا "منطقة المرافق العامة." وهذا هو المكان الذي في الأساس معرفة التفاصيل

حول ما يجري هنا. حتى المفتشين للحصول على سمات وأبعاد، والاتصالات، وأشياء من هذا القبيل تذهب هنا. وهذا هو أيضا حيث يمكنك سحب من الأشياء ان كنت تريد الذهاب لاستخدامها لبناء واجهة المستخدم الخاص بك لأننا في طريقنا لبناء رأينا تماما بيانيا.

حسنا؟ نحن لسنا بصدد كتابة التعليمات البرمجية، بالنسبة للجزء الأكبر، لبناء وجهة نظرنا. في الربع تطول، ونحن سوف تتعلم أكثر قليلا حول كيفية لبناء رأينا في التعليمات البرمجية، ولكن نحن في طريقنا للبدء من مجرد القيام بحتة رأينا من الأمور سحب بيانيا من والأسلاك لهم.

وسوف نضع نظامنا في وحدة التحكم لدينا. هذا وجهين يمكن أن تكون مخفية وتظهر مع هذه الأزرار اثنين. يرى؟ يمكنك إخفاء تلك. [غير مسموع] قد يبدو هذا أيضا، وهذه المنطقة هنا، هذا الزر أسفل قليلا هنا. وهذا ما يسمى "الخطوط العريضة وثيقة".

هذا هو حقا مدهش في متناول يدي. ولكن مرة أخرى، نحن لسنا بصدد الحديث عن ذلك أن اليوم. يمكننا أن نتحدث فقط عن الكثير في وقت واحد. الخطوط العريضة وثيقة. هذا فقط يظهر لك كل مثيلات الكائنات في وجهة نظركم في شكل مخطط مشترك.

بحيث يمكنك حقا العثور عليها بسهولة وعلاقاتهم مع بعضهم البعض. والشيء الآخر الذي يمكن القيام به هو أنني لا أريد هذا فون 5 الحجم الشيء لأن بلدي الشاشة دقة منخفضة هنا لذلك يعمل على جهاز العرض. لذلك أنا ذاهب إلى الضغط على هذا الزر أسفل قليلا هنا،

مما يقلل لي الى اي فون 4 الحجم. حسنا؟ أو آي فون 4S. أنا الآن .. ورقيقة. ولكن يمكنك النقر ذهابا وإيابا ونقل لهم العودة اليها. وأنا مجرد محاولة لجعل كل شيء مناسبا على الشاشة هنا. حسنا. لذلك دعونا فقط الغوص الحق في بناء رأينا هنا.

ما رأينا سيكون اليوم هو بطاقة واحدة بضربة ارسال ساحقة الأندية مكتوب عليها. حسنا؟ وهذا ما سوف يكون عليه. وانا ذاهب لتكون قادرة على الضغط على بطاقة وسيكون على الوجه، وتظهر الجزء الخلفي من البطاقة، ثم انقر فوق عليه مرة أخرى، وسوف نقف إلى تريني الآس

نادي مرة أخرى - ذهابا وإيابا، ذهابا وإيابا. حسنا؟ واجبك سيكون لجعله حتى عندما تقلب البطاقة حتى أنه لا تظهر الآس أندية، فإنه يدل على بطاقة عشوائية استخلاصها من سطح السفينة. حسنا؟ التي ستكون بأداء واجبك كله هذا بسبب في يوم الاثنين.

حسنا. لذلك دعونا نفعل هذا. حقا بسيطة. نذهب إلى هذا المجال هنا، هذه المكتبة الكائن. حسنا؟ هذا الزر الثالث أكثر من هنا، تظهر مكتبة الكائن. وهذا هو المكان بكل ما نملك من الأشياء. اذا نظرتم الى هنا وكنت لا ترى هذه الكائنات،

قد يكون من المفيد النقر على وجهة نظركم. أحيانا كسكودي يريد أن يعرف ما هي الوجهة أن كنت على وشك أن سحب الأشياء إلى. حتى إذا نقرت على ذلك، فإنك سترى هذه الأمور. ونحن ذاهبون لمجرد انتزاع واحدة من هذه الأزرار هنا. لذلك أنا ذاهب لاختيار هذا الزر حتى واسحبه خارج.

والإشعار، وأنا اسحب بها، تظهر هذه الخطوط الصغيرة الزرقاء - هذه المبادئ التوجيهية. حسنا. هذه المبادئ التوجيهية فائقة الأهمية. يبدو أنها تماما مثل الراحة لمساعدتك في وضعها الصحيح في منتصف أو اليمين في الزاوية اليمنى.

وهم، ولكن المهم انهم حقا عن التأكد من أن كل الأشياء من وجهة نظرك هي نوع من، مثل، مساحة معيار على حدة، أليس كذلك؟ واصطف ضد الحواف. ذلك أن ما يذهب المستخدمين من التطبيق واحد إلى آخر، وسوف تكون جميع الأمور فصل بمسافات يمكن التنبؤ بها

وسوف يكون كل شيء ثابت. من المهم حقا. وهناك آلية - يمكنك أن ترى هذا المفتاح هنا، استخدام تخطيط السيارات، والذي تم عرضه في دائرة الرقابة الداخلية 6 وطرأ تحسن كبير في دائرة الرقابة الداخلية 7، وخاصة في كسكودي - يسمح عند تغيير واجهة المستخدم الخاص بك حجم،

مثل ذلك يذهب من كونه اي فون 4 إلى اي فون 5، أو أنها تدور من كونها عمودي إلى أفقي يجري، أو أنه على آي باد في مساحة أكبر. لجميع الأزرار وكل شيء إلى نوع من التحرك إلى موضع جديد أن من المنطقي أو على الأقل معظمهم، أليس كذلك؟

وبعد ذلك ربما قد يكون لديك لنقل عدد قليل منهم من جهة، اعتمادا على ما يجري. ولكن في الغالب تلقائيا يضع بها. وهذا هو المهم حقا لأنني سوف تستمر الأجهزة المؤكد أن تكون أحجام مختلفة أنها جديدة، كما تعلمون، أجهزة يخرج على مر السنين.

هكذا يفعل تخطيط السيارات هو المهم، وهذه المبادئ التوجيهية الزرقاء هي رقم واحد أهم شيء للتخطيط لصناعة السيارات. ونحن في طريقنا لتغطية تخطيط السيارات في التفاصيل، وهناك الكثير لذلك. كل هذه الأزرار أسفل هنا لا علاقة لها تخطيط السيارات.

ولكن الحصول على هذه المبادئ التوجيهية الزرقاء، التأكد من إسقاط الأشياء مع المبدأ التوجيهي الأزرق واحد على الأقل في مكان ما هو مهم حقا إلى نوع تحصل على الذهاب في الطريق الصحيح مع وضعت السيارات بشكل صحيح من واجهة المستخدم. لذلك لدينا هذا الزر هنا.

ولكن قبل - وبالطبع، يمكننا أن نذهب أكثر من هنا لهذا هو مفتش سمات واضغط عليها. وسنرى كل أنواع من الصفات. في الواقع، إذا كان يمكنني إخفاء هذا، أطنان وأطنان من سمات هذا الزر. حسنا؟ ليس فقط على الزر نفسه،

ولكن في الواقع الفائقة التي لديها سمات. السيطرة هي المتفوقة لها، ثم الرأي الفائقة التحكم ولها سمات. حسنا. لذلك هذا هو مفتش الموجهة موضوعية التي سوف تظهر جميع سمات كل الأشياء

من خلال التسلسل الهرمي الميراث. وما يحدث هنا هو أننا تحرير الواقع المثال على زر هنا. لذلك نحن لا - وأنا أعلم في بعض الأنظمة التي تخطيط زر، يمكنك تعيين الحجم، وقمت بتعيين الصفات.

وبعد ذلك، كما تعلمون، وراء الكواليس مجموعة من التعليمات البرمجية يتم توليدها لإنشاء زر. ليس هذا ما نقوم به هنا. نحن فعلا تحرير كائنات الحية. انهم ذاهبون أساسا أن يكون تجميد المجفف. ثم عند تشغيل التطبيق الخاص بك، يضاف الماء، وأنها تأتي في الحياة، حسنا،

مع صفاتهم مجموعة، وجميع أحجامها والمواقف، وكل ما لديهم من المعلومات تخطيط السيارات في الكائن. حسنا؟ لذلك يختلف قليلا مما كنت قد تستخدم في بعض النظم الأخرى. ذلك على أية حال، قبل أن تعديل سمات هذا الزر، رغم ذلك، دعونا تغيير خلفية لدينا

لأن هذه هي لعبة بطاقة. ومعظم الألعاب بطاقة على، مثل، شعر أخضر، أليس كذلك؟ لذلك دعونا نجعل الخلفية تكون أشبه الأخضر شعر. لذلك أنا ذاهب لمجرد الضغط على الخلفية، وهو هذا الرأي هنا، ويمكنك ان ترى خصائصه. لذلك أنا ذاهب لتغيير زوجين -

أو مجرد واحدة من خصائصه - التي هي الخلفية. ترى هذه الخلفية اللون الأبيض هنا؟ حتى إذا كنت اضغط على هذا، ولدي بعض الألوان المستخدمة مؤخرا. لدي كل هذا النوع من الألوان الأسود والأبيض. وأود أيضا أن يكون آخر. وأود طرح البعض، إحضار الطباشير، حسنا؟

ان يجلب أيضا طرق أخرى لاختيار الألوان، ولكن أنا أحب الطباشير. حسنا؟ وهكذا أين هي بلدي الطباشير؟ هناك هم. لذلك دعونا اختيار الأخضر، مثل الطحلب هو أخضر جيد. البرسيم. النوع الأول من مثل الطحلب أفضل.

ولهذا النوع من خلفية بطاقة المباراة. وهذا كل شيء. لذلك قمنا تعيين لون الخلفية من وجهات نظرنا. حسنا؟ وجميع الإعداد السمة هو تماما مثل هذا: كنت مجرد مجموعة وننسى ذلك. لذلك دعونا نعود إلى زر وخصائصه.

حسنا. على زر أريد أن تبدو وكأنها بطاقة. حسنا، زر في دائرة الرقابة الداخلية 7 تبدو في الأساس الكثير مثل ارتباط تشعبي على صفحة ويب، تماما مثل هذا الزر لا حق هناك. حسنا؟ هذا الزر الأزرق. هذا ليس من المناسب حقا ما نريد.

نريد لها أن تبدو وكأنها بطاقة مع المستطيل تقريب القليل وخلفية بيضاء، أليس كذلك؟ وأريد الجزء الخلفي من البطاقة لننظر نفسه ولكن لديها نوع من التصميم على ذلك أو شيء من هذا القبيل. وبالتالي فإن الطريقة انا ذاهب للقيام بذلك هو انا ذاهب لوضع صورة خلفية لزر بلدي.

حسنا؟ صورة الخلفية التي يشبه المستطيل تقريب. لذلك دعونا نلقي قليلا جانبا هنا والحديث عن: كيف يمكننا الحصول على الصور في التطبيق لدينا؟ حسنا. نحن نريد استخدام الصور في التطبيق لدينا. من الشائع جدا تريد استخدام الصور في تطبيق رسومية مثل على الهاتف.

فكيف يمكنك أن تفعل ذلك؟ والجواب هو أن تذهب إلى هنا لهذا المكان يسمى "مكتبة الأصول صورة" - الأصول images.xc أو الأصول كسكودي. ويمكنك ان ترى هناك بالفعل زوجين من فتحات للرموز هنا.

الذي لا يمكن تأسيسها، ولكن هذا هو رمز التطبيق. ويمكن أيضا أن يكون لديك صورة إطلاق التي ستظهر على الفور عندما يقوم شخص ما تطلق التطبيق الخاص بك. وبعد ذلك كنت تهيئة، وكان وراء الصورة الإطلاق، وبعد ذلك سوف تظهر لك هي واجهة المستخدم الفعلي. حتى انها نوع من صورة التشغيل السريع.

وسوف نتحدث عن هذا يوم الاثنين. سنقوم تعيين خلفية التطبيق لالفحولة هنا. ولكن انا ذاهب الى سحب فعلا في بعض الصور الأخرى. لذلك ليس لدي بعض الصور هنا. وعلى سبيل المثال، لقد حصلت على هذا الشعار ستانفورد هنا. لذلك انا ذاهب الى سحب هذا ستانفورد شعار

في لأنني أريد أن استخدامها. وهذا كل شيء؛ أنت فقط اسحبه هنا. وتقول ستانفورد. ولكن لاحظ أنه نوع من لديه هذا شيء غريب هنا، هذا 1X و 2X. أنت ترى أن؟

وذلك لأن كل الصورة التي كنت تريد الذهاب لاستخدام في دائرة الرقابة الداخلية يريد أن يكون نسخة قرار الطبيعي أن يحدث لاستخدامها مثل على اي فون 4 - nonretina يعرض أساسا. وبعد ذلك 2X، ضعفي قرار - واحدة من شأنها أن تستخدم في شبكية العين. وسيكون اختيار واحد الحق تلقائيا،

اعتمادا على ما كنت تعمل على. حسنا؟ لم يكن لديك لفعل أي شيء حيال ذلك. ولكنك لا ترغب في توفير هذه الدقة تلك أعلى. وهذه الدقة تلك أعلى ليست مجرد بالضرورة هي نفسها بالضبط الصورة، تماما، كما تعلمون، جعلها أكثر دقة عالية. لأنها قد تسمح لك ان تفعل -

على سبيل المثال، وهنا أنا عندي شعار ستانفورد مع شجرة صغيرة. يرى؟ رؤية شجرة هناك؟ ولذلك ربما يكون هذا هو قرار منخفض جدا حقا للحصول على شجرة حسن المظهر. ولكن يمكنني الحصول على شجرة في في دقة أعلى،

لذلك أضع في هناك. لذلك ليس من الشائع أن تلك اثنين سيكون في الواقع يختلف المظهر ولكنها يمكن أن تكون. يسمح بالتأكيد أنها يمكن أن تكون. أنا أيضا لا أريد أن استدعاء حقا هذا "ستانفورد". انا ذاهب الى استخدام هذا بطاقة احتياطية بلدي.

بدلا من الاضطرار، كما تعلمون، نوع من التصميم، أنا ذاهب ليكون شعار ستانفورد أن يكون الجزء الخلفي من بطاقتي. عندما انقلبت بطاقتي إلى أسفل وأرى الظهر، أنا ذاهب لرؤية الشعار القياسي. لذلك أنا ذاهب لاستدعاء هذا "البطاقة مرة أخرى." أنا يمكن أن يطلق عليه أي شيء أريد.

أنا أيضا لدي أشياء للجبهة هنا. هذا واحد هنا. هذا هو بطاقة فارغة مع زاوية مستديرة. ذلك هو. لا يمكنك رؤيتها. لأنها بطاقة بيضاء بحيث لا يمكن رؤيته.

ولكن انا ذاهب الى استخدام ذلك. أنا ذاهب لاستدعاء هذا "جبهة بطاقة". وانا ذاهب أيضا أن يكون نسخة عالية الدقة من ذلك أيضا. حسنا. لذلك هذا امر جيد. لذلك بقدر ما يمكننا أن نرى من ذلك.

حسنا. حتى الآن حصلت على بعض الصور. والآن أريد أن استخدامها من وجهة نظري. النوع الأول من ترغب في تعيين هذه البطاقة لاستخدام هذا. لذلك أنا ذاهب لبدء مع بطاقتي هنا يكون الوجه حتى عند تشغيله. عند تشغيل التطبيق الخاص بي، وبطاقة الذهاب الى بدء مكشوفة.

في التطبيق الخاص بك عند الحصول على واجبك أنت تسير على الارجح تريد تشغيله لأسفل. والسبب في ذلك هو بلدي التطبيق يظهر بطاقة واحدة فقط: الآس الأندية. لذلك فإنه على ما يرام إذا كان يأتي مع الآس الأندية. ولكنك لا تريد بطاقتك من أجل التوصل إلى الآس الأندية بالتأكيد.

وأنه قد يكون أكثر من ذلك بقليل العمل بالنسبة لك الترميز الحكمة تهيئة أن تصل مع بعض بطاقة عشوائية. ولذا فإنني سوف يكون فقط لأنها تأتي لأسفل. جعل من الاسهل بكثير بالنسبة لك. حسنا؟ كيف لنا إذن أن تعيين هذا؟ حقا بسيطة.

لقد حصلت على زر التي تم اختيارها هنا. وهنا خصائصه. واحدة من خصائصه هو صورة خلفيتها. حسنا؟ لذلك أنا ذاهب لمجرد انقر هنا، ويمكنك ان ترى ان جميع الصور التي هي في مكتبة الأصول بلدي ستكون هنا. حسنا؟ وإذا كان هناك الكثير حقا منهم،

يمكنك كتابة وسوف تطابق ذلك. لذلك أنا ذاهب لجعله يكون أمام البطاقة. لذلك جعل من الجبهة البطاقة، ولكن لا أرى - أين هو المستطيل تقريب؟ حسنا؟ لا استطيع ان ارى في المستطيل تقريب. وهذا لأنه صغير جدا

لرؤية زوايا مدورة بشكل جيد للغاية هنا. لذلك يمكنك أن تأخذ فقط هذا الشيء وحجمه. حسنا؟ وانا ذاهب لجعله - أريد أن يكون حوالي 2-3 (غير مسموع). لذلك أنا ذاهب لجعله 64 من 96. أعرف أن هذا يحدث ليكون حجم جيد جدا، ولقد حجمها.

والآن يمكنك ان ترى زوايا مدورة صغيرة. هل ترى؟ لذلك هذا هو أن صورة أنا جر في مع زر مكتوب على أعلى من ذلك. وبطبيعة الحال، انتقلت قليلا حتى أتمكن من وضعه مرة أخرى في منتصف باستخدام بلدي المبادئ التوجيهية الزرقاء، أليس كذلك؟ وبطبيعة الحال، لا أريد بطاقتي ليقول "الزر" عليه؛

أريد الآس الأندية هنا. لذلك أنا ذاهب لمجرد انقر نقرا مزدوجا فوق على ذلك. ويمكنني أيضا أن تحرير ذلك هنا. ترى هنا حيث تقول "زر"؟ انقر هنا. أنا ذاهب لمجرد انقر نقرا مزدوجا فوق مباشرة على ذلك.

انا ذاهب الى كتابة "الآس". وكيف يمكنني كتابة الأندية، أحد يعرف؟ بديل شيء أو غيرها. أود القيام به بهذه الطريقة. أذهب إلى تعديل القائمة، أحرف خاصة، الحصول على هذا الشيء السحري.

هل سبق لك أن رأيت هذا، نوع من بارد؟ فقط انقر نقرا مزدوجا فوق - العثور على النوادي وانقر نقرا مزدوجا فوق. حسنا. ولذلك لا يوجد لي الآس الأندية. الآن، ولكن، كما تعلمون، وهذا ليس صحيحا تماما، إما. أنا لا أحب أن A. الأزرق أريد حقا وأن يكون أسود.

ويمكن أن يكون أكبر قليلا. هناك مساحة أكبر لذلك. حتى أستطيع أن أذهب الى هنا، على سبيل المثال، وتغيير الخط. يمكنني تغييره خلال النقر على هذا الشيء القليل لجعله أكبر، أو استطيع ان اضغط الواقع على هذه T وحتى تعيين الخط الذي هو عليه. الشيء الوحيد الذي هو مهم حقا

في دائرة الرقابة الداخلية 7 هو الطباعة. حسنا؟ اختيار أنماط النص الصحيح هو في الحقيقة، المهم حقا في دائرة الرقابة الداخلية 7. ونحن لسنا بصدد الحديث حقا عن ذلك هنا. نحن ذاهبون لمجرد استخدام الخط النظام. ولكن هذا شيء سنتحدث عنها في المحاضرة،

والتأكد من اختيار الصحيح الخطوط في الأماكن الصحيحة لجعل نظرة واجهة المستخدم لطيفة حقا. يمكنني تغيير حجم هنا، ربما 24 نقطة أو شيء من هذا القبيل. وهذا لا يزال يصلح. ثم أنا لا أريد هذا الأزرق، ذلك أن هذا لون النص.

لذلك دعونا نمضي قدما وجعل هذا الأسود. حسنا. حتى حصلت على بطاقة تبحث بالطريقة التي أريدها. ذلك جيد. كل هذه الخصائص التي نحن الإعداد، بالمناسبة، اذا نظرتم الى زر، يمكنك مشاهدة هذا التكوين دولة الحق هنا؟

افتراضي؟ يمكننا فعلا وضع كل هذه الأمور بشكل مختلف للدولة تسليط الضوء على زر، أو دولة محددة، أو حالة التعطيل. ولكننا وضع هذه كما الافتراضي. لذلك كل أزرار لدينا تسير دائما أن يكون عرض الحالة الافتراضية.

حسنا؟ حتى الأزرار هي قوية جدا. هل يمكن أن يكون لهم نظرة مختلفة كما أنها تسلط الضوء أو أيا كان، ولكن نحن في طريقنا إلى العمل كل في ما يسمى ب "طبيعية" أو "الافتراضي" حالة الزر. سترى أنه عندما نصل إلى رمز. حتى نتمكن من تشغيل فعلا هذا الحق الآن.

لذا قيد التشغيل. لقد جميع - أكثر، مرة أخرى، يتم كسكودي. كنت تعرف كيفية تشغيل. انها زر التشغيل قليلا. يمكنك اجراء الواقع عليه، وهناك أشياء أخرى يمكنك القيام به مثل اختبار وتحليل.

لكننا ذاهبون لمجرد تشغيل. ولذا فإنني انقر فوق تشغيل، وانها تسير لتشغيل هذا في جهاز محاكاة. حسنا؟ وهنا هو عليه. ويمكنك أن ترى أن جهاز محاكاة ل كبيرة جدا فإنه لا يصلح حتى على الشاشة. لذلك النوع من أن انتقل حولها في ذلك.

وعند النقر فوق ذلك، فإنه لا يفعل أي شيء. حسنا؟ لذلك هذا ليس جيدا. حسنا. لأنني لم تضع أي رمز وحدة تحكم في بلدي للرد إلى ذلك الشيء الذي لمسها. وهذا ما نحن في طريقنا للقيام المقبل.

لذلك دعونا نعود هنا والتوقف. حسنا. فكيف لنا أن نفعل ذلك؟ حسنا، انها جميلة للاهتمام كيف نفعل ذلك، في الواقع. انا ذاهب الى جعل بعض مساحة أكبر هنا. وما يتعين علينا القيام به هو توصيل ما يصل إلى وحدة تحكم لدينا. ونحن نفعل ذلك من خلال وضع الجانب نظامنا المراقب المالي

جنبا إلى جنب مع وجهة نظرنا. حسنا؟ لذلك أنا ذاهب إلى الضغط على هذا الزر الصغير هنا، هذا الزر رمز، وأن يضع جنبا إلى جنب. وافتراضيا إذا كان لديك وجهة نظر هنا على اليسار، انها تسير لوضع التعليمات البرمجية التي تحكم على الحق.

ويمكنك نقل هذه للحصول على مساحة أكبر لرمز إذا كنت تريد. يمكنك أيضا التبديل بين رأس إذا كنت تريد أن تفعل أشياء العام أو التنفيذ. حسنا؟ لذلك هذا امر جيد. الآن، هذا الرمز هنا هو جزء

دورة حياة رأي تحكم، ونحن ذاهبون يمكن الحديث عنها في أسبوعين أو ثلاثة أسابيع. ولكن اليوم نحن لسنا بصدد الحديث عن ذلك. حتى نتمكن من مجرد التخلص منه. ودعونا نبدأ بالقول: "عندما يحصل لمست هذا الزر، نحن نريد أن نقف على ".

لذلك نحن بحاجة لإجراء اتصال بين وجهة نظرنا وحدة تحكم. ونحن في طريقنا للقيام هذا الشيء حيث أننا شنق الهدف من واطلاق النار على السهم. حسنا؟ ودعا "العمل الهدف." وهذا سيكون نوعا من أحمق.

وربما كنت لا حتى الذهاب الى نعتقد أن هذا عند رؤيته. طريقة للقيام بذلك هو الضغط باستمرار على مفتاح التحكم. لذلك أنا الضغط باستمرار على مفتاح التحكم، وأنا سحب خط من وجهة النظر مباشرة في نظامنا. حسنا؟ حسنا؟ واسمحوا لي ان اذهب.

وتقول: "أوه، كنت ترغب في الاتصال بين وجهة نظركم وحدة التحكم الخاصة بك، أليس كذلك؟ وهنا ما أريد أن أعرف ". لذلك فمن يطلب منا، "ما الذي تريدين لاستدعاء هذا الصدد؟ " ولذلك فإن هذا سيكون اسم الأسلوب.

انه سيكون في الواقع لخلق وسيلة هنا أن يحصل على استدعاء عندما يحصل على الزر لمسها. انا ذاهب الى نسميها "لمسة زر البطاقة." هذا هو اسم جيد. هنا انها قائلا: "ما كنت تريد من نوع من حجة أن تكون؟ "

سنتحدث عن ذلك لاحقا، ولكن الآن نحن نريد بالطبع حجة ليكون الزر الذي يرسل لنا هذا العمل، حسنا؟ وهو ذاهب الى أن يكون لطيفا لأن ثم نحن ذاهبون للحديث إلى ذلك، ونقول ذلك على الوجه نفسها من جديد. هناك أمور أخرى فإننا يمكن أن يحدد هنا مثل:

أي نوع من الحدث الذي تريد إرسال هذا العمل؟ ويمكنك فعلا تعيينها لذلك ليس هناك حجة، انها مجرد يرسل زر بطاقة اتصال مع أي حجج. ولكن هنا نريد أن يكون لديها حجة المرسل، على زر ارسال هذه الرسالة. يمكنك إرسال حتى حدث اتصال على طول،

ولكن نحن تقريبا لم تفعل ذلك - عشر في المئة من الوقت. حتى هنا أنا ذاهب ليكون المرسل. حتى عندما كنت فوق الاتصال، فإنه يخلق طريقة جديدة. والسلكية هذه الطريقة تصل إلى هذا الزر. في الواقع، ترى هذه الدائرة المستديرة الصغيرة؟ إذا كنت الماوس فوقها، وسوف تظهر لك هذا ما يدور حوله

متصلا. حسنا؟ لذلك هذا هو فقط بعض الطريقة العادية المظهر جدا هنا. نوع الإرجاع، والعمل IB، وهذا هو في الواقع typedef والفراغ. هذا الأسلوب بإرجاع فعلا باطلا. والسبب في ذلك كسكودي يضع العمل IB هناك

والعمل IB typedef ولاغية، انها فقط حتى يتاح لها أن تقول الأساليب التي هي عمل الهدف بحيث أنها يمكن أن تفعل مثل هذه الاشياء. حسنا؟ الماوس فوق. ولكن المترجم يتجاهلها. المترجم يرى أنها باطلة لأنها typedef وبها باطل.

انها محض شيء كسكودي لهذا الشيء العمل IB. وبعد ذلك يمكنك أن ترى هذا الأسلوب لديه حجة واحدة، وهو مرسل. هذا هو زر ارسال لنا هذه الرسالة. وانها بصدد ارسال هذه الرسالة في كل مرة لمسة يذهب حتى داخل الزر.

على اتصال ومتابعة الداخل، أليس كذلك؟ وكان هذا الحدث. ولهذا عندما يكون بصدد ارسال هذه الرسالة. ولهذا الكمال. هذا ما نريد. هكذا في كل مرة يحدث هذا، ماذا نريد أن نفعل؟

حسنا، نحن نريد أن الوجه أكثر من بطاقة. حسنا. لذلك دعونا نبدأ فقط عن طريق التقليب أكثر من ذلك إلى الخلف. والطريقة ونحن في طريقنا للقيام بذلك هي أننا ذاهبون لإنشاء متغير محلي يدعى "صورة البطاقة." حسنا. وكنت لاحظت أنه كان يحاول مساعدتي اكتب هناك، وأنت تسير لرؤية الكثير من المساعدة هنا.

وصورة واجهة المستخدم هي فئة أخرى في دائرة الرقابة الداخلية، حسنا، تماما مثل زر واجهة المستخدم هو الطبقة. صورة واجهة المستخدم هي الطبقة، كما يمكنك أن تتخيل، يخزن صورة. يمكن أن يكون صورة JPEG، يمكن أن يكون GIF المتحركة، أنها يمكن أن تكون صورة TIFF، أيا كان. حسنا؟ حتى انها قوية جدا الدرجة صورة عقد.

ولها أسلوب فئة تسمى "صورة يدعى" وكنت تعطيه سلسلة مثل جبهة بطاقة أو بطاقة العودة، أليس كذلك؟ وسوف ننظر في مكتبة الأصول وإعطاء صورة القرار الصحيح، وهذا يتوقف على ما إذا كان يجري أن تكون على المضي قدما - في الواقع، وسوف تعطيك صورة مع كل القرارات.

ثم اعتمادا على المكان الذي عرضه، وسوف، كما تعلمون، اختيار القرار المناسب، سواء كان ذلك على شبكية العين أو لا. بحيث بارد. حصلنا على صورة. حتى الآن نحن ذاهبون لمجرد قول زر لتعيين هذه كما صورة خلفيتها بدلا من كل ما هو عليه الآن.

لذلك لاجراء محادثات مع زر، ونحن نفعل فتح مربع المرسل قوس. حق؟ ترى أن المرسل هو زر ارسال لنا هذه الرسالة. حسنا؟ مجموعة. حسنا، أنا ذاهب لبدء كتابة مجموعة الخلفية. وأنت ترى كما أن أبدأ في الكتابة، كسكودي يقترح

بالنسبة لي ما كنت قد ترغب. الآن، فهو يعرف أن المرسل هو زر واجهة المستخدم، حتى انها فقط مما يوحي أساليب زر هنا التي تبدأ مع مجموعة ب - تحديد لون الخلفية، تعيين صورة الخلفية، ووضع حدود. حسنا؟ لاحظ أنا أيضا الحصول على بعض المساعدة في القاع.

ترى، أليس ذلك رائعا؟ وهناك القليل من واحد أو سطرين من المساعدة؟ وأنا لا يمكن الضغط على هذا الرابط وسيستغرق مني أن الوثائق. نحن لن نفعل ذلك لأسباب الوقت. ولكن يمكنني أيضا بنقرة واحدة فقط، وأنه يختار أن واحدا

ويختار فورا الوسيطة الأولى. حتى أتمكن من اتخاذ ذلك. حسنا؟ لذلك أنا سوف نفعل ذلك. صورة البطاقة. ويلاحظ هنا عندما كنت اكتب كاليفورنيا، وهناك الكثير من الأشياء تلك البداية مع CA الذي يمكن أن تذهب هناك.

ولكن في كسكودي ذكية جدا. فهو يعرف ان متغير محلي هو على الأرجح ما لك الكثير تريد هنا من كل هذه CA الآخرين - الوظائف التي تبدأ مع كاليفورنيا. لذلك تلقائيا بتحديد ذلك بالنسبة لي. وإذا أنا ضربت التبويب، بالمناسبة،

انها سوف أساسا الهروب كاملة عليه. [غير مسموع] وإذا أنا ضربت علامة تبويب أخرى، فإنه يذهب أكثر من هنا. هذا الشيء القليل أربعة الدولة هو فقط ما كنت أتحدث حول المكان الذي يمكن أن يحدد هذا للدولة المميزة، أو الدولة، أو حالة التعطيل المحدد. نحن ذاهبون لمجرد القيام العادي

أو التقصير حالة هذا الزر. حسنا؟ لذلك نحن وضع صورة الخلفية لهذا الزر. ونحن بحاجة أيضا إلى تعيين عنوان لأننا لا نريد أن نرى أن الآس الأندية عندما كنا اقلبها الى الوراء. لذلك أنا ذاهب لمجرد تعيين لذلك.

حسنا. هذا هو سلسلة فارغة. ويمكنني أن أقول أيضا لا شيء هناك. حسنا. ولكن أنا أقول سلسلة فارغة فقط لنرى ما تبدو سلسلة فارغة مثل. في الواقع حتى إذا كنا تشغيل هذا فقل الثلاثة. حسنا، دعونا نحاول ذلك.

رائع. [غير مسموع] حتى تذهب هناك. لذلك هناك نسخة مصغرة منه. حسنا. وحتى هنا بطاقة لدينا. وإذا كنت اضغط عليه، أوه نعم، وتقلب من جديد. نعم فعلا. ستانفورد الشعار مع الشجرة. ولكن الآن إذا كنت اضغط، فإنه لا يفعل أي شيء آخر.

انها تقلب دائما الى الخلف، وهذا بالضبط ما يفعله الكود، أليس كذلك؟ لذلك هذا امر جيد. لذلك دعونا إصلاحه بحيث تقلب في كلا الاتجاهين. حسنا؟ وانا ذاهب لفعل ذلك بالقول إذا كان - في الواقع، انا ذاهب الى القيام به شيء آخر أولا

لجعل هذا الرمز قليلا بساطة هو بدلا من ذلك وجود هذا المتغير المحلي، ويمكنني أن مجرد اتخاذ هذا وبوب عليه الحق في هناك. حسنا؟ وهذا شائع جدا للقيام بذلك. وإذا أردت أن التفاف عليه، فإنه سيتم التفاف تلقائيا إذا قمت بعمل هذا قصيرة جدا.

ولكن يمكنني أيضا أن تضع العودة إلى هناك. وعندما أقوم به، وانظر ماذا يفعل مع كولون. انظر كيف خطوط كولون تصل؟ انها لن تفعل دائما ذلك. إذا ضغطت العودة في منتصف إرسال رسالة التي لديها حجج متعددة، وسوف يبطن كولون

تصل لجميع الحجج. رائع حقا. حتى تستطيع أن ترى كل الحجج اصطف اليسار واليمين. لذلك على أي حال، أنا ذاهب لتحقق لمعرفة ما إذا كان العنوان الحالي - حسنا، هذا هو أسلوب زر واحدة - لو انها السلسلة. إذا كان هذا الطول، حسنا، هو غير صفرية، حسنا -

لذلك هذا هو اختبار هناك لمعرفة ما إذا كان طول صفرية - هذا هو وسيلة باردة للقيام بذلك لأن ذلك سيعمل إذا كان عنوان زر صفر أو أنها إذا كانت السلسلة الفارغة. لأن العنوان زر يبدأ صفر. إذا كنت لا تضعه على أي شيء، ويبدأ من الصفر. حتى هنا مع سطر واحد من التعليمات البرمجية لقد دققت على اللقاء الأولي

الدولة ربما - وليس في حالتنا بسبب وضعنا عنوان الى النادي أ - ولكن في حالتك قد يكون. ثم سنقوم تعيينها إلى شيء واحد، إلا فإننا سوف تعيينها إلى شيء آخر. لذلك أردنا فقط أن تعيين هذا إلى هذا. حسنا؟

حتى إذا كان هناك عنوان على زر، وبعبارة أخرى لديها الآس الأندية، ثم نحن ذاهبون للانتقال إلى الخلف. واذا لم يكن هناك عنوان على الزر، ثم نحن ذاهبون للرجوع إلى الأمام. حسنا؟ الآس الأندية.

حسنا؟ وحتى الآن عندما ندير، وبطاقة لدينا الوجه في كلا الاتجاهين. حسنا؟ ذلك حقا بسيطة لسلك الاشياء إلى التحكم الخاصة بك لتفعل ما تريد. والشيء التالي ونحن في طريقنا إلى القيام به هو في - حسنا، أنا سوف تظهر لك حقا بسرعة هنا. إذا كنت باستمرار مفتاح الخيار، مفتاح مهم جدا،

هل ترى كيف يضع علامة استفهام ويبدأ تسليط الضوء على الأشياء؟ وهذا ما سوف يسمح لك الانتقال في الوثائق. حتى لو كنت تريد أن تعرف المزيد عن هذا العنوان الحالي، لو ضرب الخيار، انقر على ذلك -

ترى، أحصل على القليل من المساعدة هنا. إنها خاصية. للقراءة فقط، انها nonatomic. بالمناسبة، إذا كنت ترى "الاحتفاظ" في وثائق، هذا هو نفسه بأنها "قوية". حسنا؟ تحتفظ هو نفس قوية في الأساس.

قليلا من وصف هنا ولكن أيضا وصلات. وإذا كنت اضغط على واحد من هذه الارتباطات التشعبية، مثل هذا واحد، يستغرق مني في الوثائق. هذا هو إطار منفصل هنا. ويمكنك التنقل في جميع أنحاء في هذه الوثائق. كنت تريد حقا أن تعرف على كل هذا.

أنا لا يمكن أن تظهر حقا كل شيء لكم اليوم لضيق الوقت، ولكن يمكنك أن تفعل أشياء مثل البحث، كما يمكنني أن أذهب تجد زر واجهة المستخدم هنا. حسنا. هناك زر واجهة المستخدم. وأود أن انتقل لأسفل والذهاب، على سبيل المثال، تعيين صورة خلفية أو وضع صورة خلفية

للدولة، التي رأينا فقط. ربما أنا انقر للذهاب صورة واجهة المستخدم. ترى كل هذا. هناك وصفا لطيفة من الفئة في بداية وبعد ذلك كل الأساليب، الخ، الخ يريد ذلك بالتأكيد لتصبح على درجة الماجستير من تلك الوثائق.

يمكنك أيضا خيار انقر نقرا مزدوجا فوق على الأشياء وسوف نرسل لك مباشرة إلى وثائق. إذا كنت لا ترغب في الحصول على مساعدة قليلا من واحد لأول مرة، يمكنك الذهاب مباشرة في. لذلك الخيار هو مفتاح واحد لذلك. دعونا نمضي قدما - حسنا.

لاحظ أن هذه مساحة صغيرة على طول الجزء السفلي هنا ظهر عندما هربنا تطبيق - ترى ذلك؟ هذا هو المصحح على اليسار، وهذا هو وحدة التحكم على اليمين. حسنا؟ وأنت بالتأكيد ستكون باستخدام المصحح وحدة التحكم في كل من هذه الفئة.

وفعلا، وأنا قد يكون الوقت للقيام سريعة - تظهر لك كيفية القيام وحدة التحكم. ولكن على أي حال، يمكنك إخفاء ذلك عن طريق سحبه إلى الأسفل أو أيضا بالنقر على هذا الشيء (غير مسموع). حسنا. ذلك الشيء التالي الذي كنت تنوي القيام به هو أننا ذاهبون

لوضع القليل من التسمية على واجهة المستخدم لدينا أن تحصي تقلب. حسنا؟ والشيء الإضافي القليل أن الزيادات في كل مرة هناك الوجه. ونحن نفعل ذلك من خلال العودة إلى هنا والاستيلاء على أنفسنا التسمية. لذلك التسمية هو قطعة للقراءة فقط من النص، والنص noneditable.

وأنا ذاهب لمجرد اسحبه أكثر من هنا ووضعها في أسفل اليسار. انا ذاهب الى انقر نقرا مزدوجا فوق على ذلك أن نسميها "تقلب القولون الصفر". هذا هو ما أريد أن تبدو وكأنها عندما تطلق بلدي واجهة المستخدم أولا. الآن هنا، أنا لن يتم النقر على هذا وتسبب في رسالة ليتم إرسالها مثل زر.

انها على العكس من ذلك. تحكم بلدي يريد التحدث إلى هذا وتقول انها عندما يغير تقلب في كل وقت. حسنا؟ حتى أنك قد تعتقد أنك قد سحب من التعليمات البرمجية الى هذا تقلب، ولكن للأسف لا تفعل ذلك. كنت لا تزال باستمرار السيطرة والسحب من هنا.

ولكن بدلا من سحبه إلى أسفل داخل منطقة التطبيق الخاص بك، كنت اسحبه إلى منطقة واجهة لأنك ذاهب إنشاء خاصية الذي يربط إلى أن التسمية في الأساس. لذلك نحن نفعل ذلك. نحصل على شيء هنا.

انها يطلب منا قليلا أسئلة مختلفة: "ما هو اسم هذا العقار؟" انا ذاهب الى نسميها "تقلب التسمية". حسنا؟ لاحظ أن هذا العقار ضعيفة. حسنا؟ عند النقر فوق اتصال، انها سوف تجعل خاصية هنا وانها ستكون ضعيفة.

وهذه هي المرة الأولى التي نرى ضعيفة مقابل قوية. والسبب في هذا هو الضعيف هو لأن عقد هذه التسمية بشدة وجهة النظر نفسها. لذلك نحن لا تحتاج إلى أن يكون مؤشر قوي لذلك، لإبقائه في كومة. سوف العرض.

وإذا كان هذا التسمية يترك أي وقت مضى وجهة نظر، سوف تحصل على تنظيفها الخروج من الكومة. وهذه الخاصية - وهذا مؤشر على ذلك - سوف تحصل على مجموعة من الصفر، وهذا بالضبط ما نريد. لأنه إذا كان ذلك تقلب التسمية لا في طريقة العرض، ونحن لا نريد أن يكون تحديثها وإرسال رسائل إليها.

لذلك هو فائدة كبيرة من الضعفاء هنا. هذا هو الملكية العادية التي كنت تستخدم اليها الا لربما هذا المنفذ IB. هذا مجرد مثل العمل IB. انه شيء لا معنى له يتجاهل مترجم أن كسكودي يستخدم.

حسنا؟ بحيث أنها يمكن أن تفعل هذا - تظهر لك ما توصيله إلى عند الماوس فوقها. حسنا؟ بالمناسبة، يمكنك ان ترى كل الاتصالات بواسطة أيضا النقر بزر الماوس الأيمن على الأشياء. حتى هنا أنا فقط الحق النقر على الزر ويمكنك ان ترى علاقاتها.

إذا كنت تريد من أي وقت مضى إلى إعادة تسمية - كما لو كنت لا أحب زر بطاقة اتصال، أريد أن تسميته إلى شيء، لا يمكنك فقط إعادة تسمية للأسف. عليك أن تذهب هنا، انقر بزر الماوس الأيمن، استخدام هذا الشيء القليل لفصلها، ومن ثم السيطرة السحب مرة أخرى.

حسنا؟ حصل الجميع ذلك؟ من المؤسف. سيكون من الجميل حقا إذا كسكودي يمكن تتبع هذا بالنسبة لك ولكنها لا تستطيع. حتى إذا كنت تريد من أي وقت مضى إلى إعادة تسمية شيء، لديك لفصلها هنا بالنقر بزر الماوس الأيمن على ذلك،

ومن ثم السيطرة السحب واحدة جديدة وتعيين اسم بهذه الطريقة. يمكنك أيضا النقر بزر الماوس الأيمن على هذا الرجل الصغير وسوف تظهر لك كل الاتصالات للتحكم الخاص بك. إحضار هذه النافذة. وأستطيع أن أرى التسمية. هل ترى؟ أنا تمرير الماوس فوق زر.

التسمية. وهناك أيضا هذه الخاصية قليلا هنا، وهو ما لم تره، الذي هو في الأساس خاصية الذي يشير إلى عرض كامل من حدة التحكم الخاصة بك. لذلك هذا هو الاتصالات حدات التحكم الخاصة بك. ترى، تقول "لعبة بطاقة عرض تحكم"؟

حسنا؟ لذلك هذا هو النقر بزر الماوس الأيمن. أنا بزر الماوس الأيمن فوق أكثر من هنا. حسنا. فكيف نحن ذاهبون لجعل هذا العمل تقلب التسمية؟ نحن نذهب لوضعها جانبا لفترة ثانية. دعونا لا نفكر في ذلك.

دعونا بدلا من ذلك القيام عقار آخر. الملكية. وهو nonatomic، الذي هو مجرد الذهاب أن يكون عدد صحيح، وأنا ذاهب لاستدعاء "العد الوجه." حسنا؟ العد الآخر حتى لا يكون مجرد صحيح أن يجري للحفاظ على عدد من تقلب. ومشاهدة هذا.

بعض مساحة أكبر هنا. اذهب الى هناك. أنا ذاهب لمجرد النزول هنا ويقول عدد self.flip زائد زائد. حسنا؟ الآن، هل هذا استدعاء واضع أو جالبة للالوجه العد؟ على حد سواء. بالضبط.

التي يتم استدعاء كل من واضع وجالبة. انها داعيا جالبة للحصول على العد الوجه، ثم انه بالاضافة الى plussing عليه؛ وبعد ذلك المتصل واضع باعادته الى الوراء. حسنا. ولهذا النوع من بطانة غير تقليدي من التعليمات البرمجية هناك حق. هذا هو نفسه قوله العد self.flip يساوي self.flip

عد زائد واحد. حتى انها داعيا جالبة واضعة. حسنا. حتى الآن لدينا هذا العدد الوجه الجميل. انها تتبع عدد. كيف يمكننا ربط ما يصل لهذا الشيء هنا؟ الذي أنا ذاهب لجعل أكبر قليلا، من جانب الطريق.

حسنا. كيف يمكننا ربط ما يصل بحيث يقول تقلب القولون واحد، تقلب القولون اثنين، وتقلب القولون الثلاثة؟ حسنا، نحن ذاهبون للقيام بذلك باستخدام واضع لعدد الآخر. حسنا؟ لذلك عادة اضع لعدد الآخر سيبدو هذا. حسنا؟ وهنا فائدة كبيرة أخرى من واضعي وحاصل، الذي هو الحفاظ على واجهة المستخدم في تزامن مع خاصية.

وأنا مجرد القيام بذلك بقوله التسمية self.flips - تقلب label.text يساوي - عفوا، عفوا. انه من الصعب ان اكتب واقفا. يساوي NS سلسلة، سلسلة مع شكل، التي كنت قد رأيت من قبل، وتقلب القولون في المئة العد D self.flip. حسنا؟ وحتى الآن تم تغيير كل مرة الوجه العد ونحن في طريقنا

لتحديث واجهة المستخدم. منطقي؟ أي أسئلة حول هذا الموضوع؟ حسنا. لذلك دعونا تشغيل. حسنا. وهنا لدينا شيء. وفوق ذلك، وتقلب على والتحديثات العد الوجه.

الوجه، والوجه، والوجه، والوجه. ذهابا وإيابا العمل، والفرز الوجه وتتبع كم عدد تقلب نقوم به. حسنا؟ حتى تتمكن من رؤية هذه الاشياء هي حقا بسيطة سلك يصل. حسنا؟ و، كما تعلمون، عندما تحصل في بناء حتى التطبيقات المعقدة،

لأنك ذاهب دائما لاستخدام هذه الآليات نفسها مع العمل المستهدفة وسائل وأنت تسير أن يكون استخدام اضعي وحاصل على إبقاء الأمور متزامنة، فإنه سيكون من السهل على الناس لفهم كيفية عمل التعليمات البرمجية. وهم يعرفون أن ننظر فيها لنرى أين يحدث تحديث واجهة المستخدم،

وما أنا ذاهب لتفعل شيئا واحدا آخر هنا. اتخاذ دقيقة وتظهر لك NS تسجيل. حسنا. قلت لك أنك يمكن أن تسجيل شيء في وحدة التحكم. لذلك دعونا نفعل كل الوقت هذا الشيء التغييرات، دعونا نفعل سجل NS. حتى انها مجرد وظيفة مئوية.

وتعطيه سلسلة تنسيق مثل printf. لذلك أنا أقول الوجه العد يساوي في المئة العد الخامس self.flip. حسنا؟ لذلك كنت وضعت للتو أن سجل NS هناك، والآن عندما نقوم بتشغيل وأنت تسير لأنها ترى في وحدة التحكم. انها سوف تأتي عند النقر، وانها تسير أن أقول ما حدث هنا.

من جانب الطريق، وبطبيعة الحال، وأنا يمكن أن تجعل ذلك على نطاق أوسع. ونعود إلى محاكاة. دعنا نرى. حسنا. حتى تسجيل NS - طريقة رهيبة لتصحيح. حسنا؟ في بعض الأحيان أسهل كثيرا من وضع نقطة توقف وبعد ذلك عندما تحصل هناك تبحث

في المتغيرات والأشياء. فإنه يطبع فقط على ما يجري ويمكنك مشاهدته. خصوصا في واجهة المستخدم والرسوم المتحركة الأمور في بعض الأحيان، انهم يحدث مع مرور الوقت. من الصعب في بعض الأحيان إلى تعيين نقطة توقف في منتصف من الرسوم المتحركة لمعرفة ما يجري.

ولكن إذا كنت تفعل بعض سجلات NS، يمكنك نوع من يرى كيف تسير الامور التقدم. حسنا. آخر شيء انا ذاهب لتظهر لك هنا هو كيف لإضافة فئة جديدة إلى التطبيق الخاص بك لأنك سوف تحتاج إلى القيام بذلك.

وأنت تسير لإضافة أربعة فصول على ذلك. حسنا؟ وأنت تسير لتبدأ مع هذا، حسنا، ثم كنت تريد الذهاب لإضافة أربعة فصول - بطاقة، على سطح السفينة، وغيرها، والطريقة التي تضيف طبقة هي لك - وفي الواقع، فإن الطريقة التي تضيف أي ملف إلى المشروع الخاص بك - غير أن تذهب إلى القائمة ملف، ملف جديد.

حسنا؟ وهناك جميع أنواع مختلفة من الأشياء التي يمكن أن أضيف هنا، ملف قاعدة البيانات، ملفات المخطط وكل شيء. ولكنك تريد هذا أعلى اليسرى فئة واحدة الهدف جيم. حسنا؟ هنا كنت مجرد الذهاب إلى كتابة اسم الفئة. هكذا على سبيل المثال، إذا أنا ذاهب لإضافة بطاقة

واسم الطبقة المتفوقة. حسنا. إذا كنت تفعل بطاقة اللعب، يمكنك كتابة بطاقة هنا. فإنه ليس من الضروري أن يكون شيء ما يختار من هذه القائمة، حسنا، الذي هم دائرة الرقابة الداخلية. حتى هنا انا ذاهب لجعل بطاقة. يمكن أن أضع بطاقة هنا.

انها يسأل أين لتخزين هذه. يمكن أن أضع ذلك الحق في نفس المكان أن بلدي تحكم لعبة البطاقة، ترى؟ ولكن أنا فعلا معجب كبير وضع النموذج الخاص بك في الدليل الخاص به. لذلك كنت تستخدم مجلد جديد هنا.

دعونا خلق مثل دليل نموذج، وهذا يخلق دليل نموذج هنا. هناك وحدة تحكم، وهنا الدليل النموذجي. وهكذا خلق. بحيث سيكون لإنشاء بطاقة نقطة H و م وفيما يلي بطاقة نقطة H وM، حسنا، إصدارات نوع من فارغة منهم.

يمكنك التبديل ذهابا وإيابا بينهما هنا. لاحظ أنه إذا يمكنني أن أتحول إلى اليسار، التغييرات المناسبة للمباراة. هل ترى؟ تغيير هذا، هذه المباريات. هذا لأنني نظرائهم اختار هنا. إذا ذهبت إلى دليل واختيار هذا الملف يدويا،

ثم انه لن نفعل هذا السحر بعد الآن. ولكن يمكنك دائما العودة إلى نظرائهم وأنها سوف تبقي منهم على وفاق. حسنا. لذلك يمكن أن يكون - بعض الناس مثل ملف الرأس الخاصة على اليسار، وبعض على الحق، أيا كان. أيضا، لاحظ هنا أنه سيكون من الرائع

لو أستطيع أيضا تجميع هذه الأشياء في الملاح. ويمكنني من خلال وجود لهم اختيار بزر الماوس الأيمن فوق مجموعة جديدة. يقول نموذج. هنا. والآن لقد وضعت طراز بي في مكان صغير خاص به هنا. حتى أستطيع تحريك هذه حولها، وضعها هنا، أيا كان.

يمكن أن أضع كل ما عندي من أربعة فصول في هناك. فمن الممكن أن تصل هذه المجموعة إلى نظام الملفات. في الواقع، إذا كنت فقط اضغط على ملف وطرح مفتش عليه هنا، يمكنك أن ترى أن انها حصلت على هذا الموقع حيث يمكنك تحديد ما اذا كان مسار مطلق، أو ذات الصلة إلى مجموعة انها في، أو أيا كان.

حتى تتمكن من السيطرة على ذلك. وهذا كل شيء. لذلك أعتقد أن هذا هو كل ما عليك القيام به المنزلية الخاصة بك. كنت مجرد الذهاب لكتابة كافة التعليمات البرمجية الخاصة بك هنا للحصول على بطاقة وإضافة الخاصة بك الآحاد الثلاثة الأخرى. اكتب عن هذا الرمز في.

وبعد ذلك كل ما عليك أن تفعله هو جعل تلك البطاقة بدلا من ذلك لإظهار الآس الأندية في كل وقت، يجب أن تذهب من خلال سطح السفينة، حسنا؟ هناك المنزلية مفصل الكتابة حتى نشرها. وهو يحتوي على جميع أنواع تلميحات والمساعدة، ويقول لك ما هي المهام المطلوبة،

ومعايير التقييم، وجميع تلك الاشياء. لذلك بالتأكيد قراءة هذا الشيء في التفاصيل، حسنا؟ لا تخطي هذه الأشياء، ومجرد محاولة للذهاب مباشرة إلى فعل ذلك. وإذا كانت لديك أسئلة، سأكون هنا. هذا هو. >> لمزيد من المعلومات، يرجى زيارة موقعنا على Stanford.edu.



Video Description

This is the second lecture of the course as it was published by Stanford University. It has Creative Commons rights.