[Powered by Google Translate] [سمینار] [در iOS: نوشتن برنامه مانند یک رئیس] [تامی MacWilliam] [دانشگاه هاروارد] [این CS50.] [CS50.TV] تمامی حقوق، همه، خوش آمدید به iOS: نوشتن برنامه مانند یک رئیس است. این سمینار در حال رفتن به تمرکز بر روی نوشتن برنامه برای آی فون و به نوبه خود به نوشتن برنامه های کاربردی برای iPad، و بنابراین ما اساسا در رفتن به راه رفتن را از طریق نمونه های مختلف زن و شوهر چگونه به ایجاد یک برنامه، یک بازی ساده مثل تیک تاک انگشت پا، و یا اگر شما بیشتر علاقه مند به ساخت یک برنامه شبیه به نوعی از خبر خوان و یا چیزی است که تعامل با اینترنت من در مورد آن نیز صحبت کنید. در اینجا مختصری دستور کار ما است. برنامه IOS در یک زبان به نام هدف C نوشته شده است، و به همین ترتیب این کمی شبیه به C اما نه واقعا در همه است، بنابراین ما خواهید بود صحبت کردن کمی در مورد خود زبان و پس از آن برای ساخت برنامه های آیفون با استفاده از این برنامه نرم افزاری به نام Xcode متعلق به، که اگر شما آن را دریافت نشده است احساس رایگان برای شروع به دانلود کن. چند گیگابایت است. باید رایگان در فروشگاه App، بنابراین شما نیاز به مک در حالت ایده آل در حال اجرا از آخرین نسخه از OS X. اگر شما نیست، مشکلی وجود ندارد. ما باید مکینتاش را در مرکز علم در دسترس برای استفاده شما با Xcode متعلق به نصب شده است، و بنابراین احساس رایگان برای استفاده از آن برای توسعه است. اگر شما می خواهید برای ایجاد یک برنامه مک ندارد، نگران نباشید. مقدار زیادی از منابع دانشگاه در آن وجود دارد. و بنابراین پس از آن ما در حال رفتن به پوشش 2 نمونه بزرگتر از برنامه های مختلف شما می توانید. هدف C از نظر فنی چیزی است که به نام مجموعه ای فوق العاده از C. این بدان معنی است که هر کد C-C کد معتبر هدف. این بدان معنی است که ما نوع از مجرای در برخی از ویژگی های اضافی را به C. ضبط برخی از این ویژگی ها شامل داشتن تا کنون نوشتن malloc دوباره، خدا را شکر، هیچ نیاز به نگرانی در مورد آن اشاره گر احمق و آزادی آنها و تمام چیزهای که شما در مورد C متنفر بودم، و نوع آن رفته-C در هدف. در حال حاضر، هدف-C نیز دارای یک کتابخانه استاندارد بسیار بزرگتر، بنابراین خیلی بیشتر از قابلیت وجود دارد که شما برای داخل هدف-C دریافت کنید. به یاد داشته باشید هنگامی که ما به نوشتن PHP ما متوجه شدیم که ما از رفت این کوچکترین زبان به کتابخانه بزرگ تمام این چیزها را دیوانه می توانید انجام دهید. همان چیزی که اتفاق می افتد در در iOS است. اشیاء برای چیزهایی مانند تقویم بودایی وجود دارد، و واقعا هر چیزی شما احتمالا می تواند احتمالا وجود دارد در حال حاضر در اجرای هدف-C فکر می کنم. هدف از هدف-C، استناد چیزی به نام برنامه نویسی شی گرا است. این نوع از یک مفهوم جدید است، اما ما در واقع عمدتا آموخته بسیاری از این مفاهیم در حال حاضر. ایده پشت برنامه نویسی شی گرا است که شما در حال رفتن به ساختار تعداد زیادی از کد خود را در سراسر این چیزها را به نام کلاس ها، و این کلاس ها واقعا جلال ساختمانها. داخل یک ساختار اساسا ما گفت: در اینجا یک چیز است، و این چیز می تواند داشته باشد. به عنوان مثال، یک گره در یک لیست پیوندی می تواند به چیزهای دیگر داشته باشند چون یک مقدار، یک اشاره گر به گره بعدی در فهرست، و با هم که اشاره گر و تشکیل شده است که ارزش این مثال یکی از ساختارها (struct). کلاس بسیار مشابه هستند به جز کلاس همچنین می توانید توابع را در داخل از آنها را داشته باشد. هنگامی که ما یک ساختار را اعلام کرد، ما فقط می تواند از نوع int N یا گره بعدی * می گویند. در حال حاضر با هدف-C ما در واقع می تواند توابع قرار داده است در داخل از آن چیزهایی است. یکی دیگر از چیزی است که کلاس می تواند انجام دهد این است که آنها می توانند داده ها را از کلاس دیگر به ارث می برند. به عنوان مثال، ما به دنبال در یک دسته از ساخته شده است در هدف، کلاس C است. یکی از آنها می تواند کلاس که نشان دهنده نمایش روی صفحه نمایش، و به همین ترتیب با گفتن من می خواهم به اجرای نمایش خود را من ما اساسا کسی که در بیش از اپل، احتمالا واقعا خوب مردم می گویند، نوشت: این کلاس برای من، و آن دسته چیزهایی مانند دکمه های نمایش یا ارائه روی صفحه نمایش، و ما واقعا دردناک خواهد بود برای پیاده سازی تمام است که عملکرد خودمان است، و بنابراین به سادگی با وارث داده های ما می توانید همه چیز را که شما در آن کلاس بود من هم داخل کلاس من می خواهم، و سپس من قصد دارم برای انجام برخی از چیزهای دیگر، یعنی یک برنامه را اجرا می کنند. این همان چیزی است که ارث کلمه به این معنی است. ما می خواهیم یک مثال عینی تر را ببینید. و در نهایت کلید با برنامه نویسی شی گرا است که آن به یگدیگر داده ها منجر می شود. در برخی از مجموعه مشکل ما ما می تواند از این بزرگ، متغیر های جهانی و GLOBALS در همه جا، و این که چگونه ما می خواهم پیگیری امور خارجه نگه دارید. با کلاس ما می توانیم شروع به کپسوله سازی اطلاعات در داخل یک شی. اگر ما دارای یک صفحه نمایش در برنامه ما، ما واقعا نیاز نیست به هر گونه اطلاعات از یکی دیگر از صفحه نمایش در داخل برنامه ما از آن، و به همین ترتیب با کپسوله سازی چیزها را در داخل کلاس این در واقع منجر برای طراحی کد خیلی بهتر است، و این ممکن است با برخی از ویژگی های اضافی هدف-C. Forewarning، نحو برای هدف-C موز است. مثل چیزی که دیده ام قبل از، پس از آن کمی از منحنی یادگیری گرفتن استفاده می شود است چی معنی است؟ اما هنگامی که شما در گذشته است که منحنی یادگیری اولیه این واقعا، واقعا صاف برای شروع به نوشتن برنامه های. برای تعریف یک کلاس، می گویند اینجا کلاس من است، در آن وجود دارد، و شاید در اینجا برخی از چیزهایی است که من قصد دارم به تعریف بعد، من قصد دارم برای گفتن از رابط @. من قصد دارم برای گفتن از رابط @. من قصد دارم به کلاس من یک نام است. و سپس بعد در جایی دیگر من قصد دارم برای گفتن @ پایان، و همه چیز را در میان رابط @ و پایان @ برای رفتن به کلاس من. است که رفتن به آنچه در درون ما از فایل های ساعت است. درست مانند C فایل ساعت اساسا گفت: در اینجا برخی از چیزهایی که وجود خواهد داشت. من نه لزوما به شما می گویم آنچه انجام می دهند در عین حال، اما کامپایلر نیاز به دانستن است که آنها وجود دارند. بعدها در داخل فایل های. متر ما به خاطر متر برای هدف-C جایی است که ما در واقع رفتن به تعریف این کلاس انجام است. بسیار شبیه به فایل های C، ما به پیاده سازی توابع است. داخل فایل متر ما در حال رفتن به می گویند در اینجا چیزی است که تمام توابع در داخل از کلاس چیزی است که همه آنها را انجام دهید. و در نهایت، در داخل یک ساختار در داخل می گویند کسانی که از آکولاد INT یا گره * بعدی، و در-C هدف ما قصد داریم با استفاده از کلمه کلیدی اموال @ و این همان چیزی است که رفتن به تعریف خواص، توابع غیر هستند که بخشی از کلاس های من. فراخوانی توابع در هدف-C است همچنین موز. توابع در C را در هنگامی که ما اعلام کرد ما گفت: چیزی مانند نوع int صنایع غذایی باز و پرانتز و سپس به آن یک لیست آرگومان. این همان چیزی است که اعلام روش ها و یا توابع به نظر می رسد مانند هدف-C است. اگر من می خواهم به اعلام یک تابع و یا روش جایی که من هستم گفت: روش واقعا فقط یک تابع است که یک عضو از یک کلاس، بنابراین نوع قابل تعویض است، اما نه واقعا، داخل از روش من من می خواهم برای ایجاد یک روش جدید است. رفتن به بازگشت به هیچ چیز، پس از آن از درجه اعتبار ساقط نوع است. این نوع برگشتی تابع من است. در حال حاضر ما parens در اینجا به دلیل من نمی دانم. بعد رفتن به نام تابع من است، و پس از آن در نهایت ما یک نقطه و ویرگول درست مثل ما در C. بود تازه چه خبر اینجا این مرد در اینجا است. این خط رابط بین کلماتی که نصف ان در سطر بعد واقع شده است که در واقع لازم باشد، و آنچه در این می گوید که این روش در اینجا باید بر روی یک نمونه از یک کلاس نامیده می شود. پس از اعلام ساختمانها احتمالا ما گفت چیزی شبیه به ساختار گره N، که در واقع ایجاد یا نمونه یکی از آن ساختمانها به طوری که من در واقع می تواند شروع به کار با آنچه که در داخل آن، به طوری که این فاصله بدان معنی است که ما باید به نمونه کلاس درست مثل ما نمونه که ساختار قبل از ما می توانید این روش را بر روی آن تماس بگیرید. اگر من می خواهم برای شروع به اضافه کردن استدلال به روش من موز و حتی بیشتر می شود. در اینجا نام روش من است. پس از آن من به روده بزرگ، و بعد از این روده بزرگ آن را می گوید در اینجا می آید برخی از استدلال است. این متد یک آرگومان است. نوع استدلال خود را بین المللی، و به نام که استدلال یا متغیر است که من قصد دارم برای شروع با استفاده از داخل به روش من به نام. باز هم، این روش است. طول می کشد تا یک استدلال. اگر شما می خواهید شروع به اضافه کردن استدلال بیش از آن می شود موز که ما در این روده بزرگ که می گوید در اینجا می آید من از استدلال است. این آرگومان اول، یک عدد صحیح است. در حال حاضر، این آرگومان دوم جالب است. متغیر است که من قصد دارم با استفاده از داخل تابع من F نامیده می شود، به طوری که در داخل تابع من من می گویند F + = 1 و یا چیزی. این چیز در اینجا است که اساسا یک کلید برای آن آرگومان و یا پارامتر است. درست مثل ما تا به حال جفت ارزش کلیدی و چیزی مانند JSON یا آرایه های انجمنی هدف-C ساخته شده است که تصمیم به گفتن نیست، درست است، به طوری که آن را واقعا روشن هنگامی که شما به یک روش آنچه را که همه این پارامترها هستند من در واقع به نام همه آنها را. هنگامی که شما به یک روش، شما در واقع می خواهید andFloat می گویند، و سپس شما آن شوید. عبور جالب توجه است، یکی از این نام نیست، اما همه از پارامترهای دیگر هستند، بنابراین اگر ما تا به حال استدلال 3 می تواند andFloat می گویند و یکی دیگر از شناور و غیره. هنگامی که من به این روش آن را البته از موز است. بنابراین اگر من یک شیء، و من تعریف یک روش به نام صنایع غذایی، و من می خواهم به آن تماس بگیرید، به جای گفتن صنایع غذایی باز / parens نزدیک من قصد دارم برای باز کردن براکت. در اینجا نام از روش من است. من قصد دارم برای بستن براکت، و این است که جسم من خواهان آن را در. به یاد داشته باشید، همه از این روش در داخل کلاس وجود دارد چرا که کلاس ها می تواند روش های تعریف شده در داخل از آنها را داشته باشد. در اینجا من خودسرانه ایجاد یک شی برخی از کلاس، و این نحو برای انجام این کار است. 2 گام برای رسیدن به ایجاد یک شی وجود دارد. اولین قدم این است که می گویند من می خواهم به تخصیص فضا است. این معادل malloc است. ما لازم نیست برای گفتن malloc دیگر. ما متر کاهش یافته است، ساخته شده آن alloc، و ج. متر جایگزین شده است. پس از ما چیزی alloc سپس ما نیاز به آن را مقداردهی اولیه. اساسا هنگامی که اشیاء را ایجاد می کنید شما ممکن است بخواهید به برخی از منطق اجرا است که زمانی که آنها در حال ایجاد است، بنابراین شما می توانید در برخی از مقادیر پیش فرض عبور یا چیزی شبیه به آن، و بنابراین این روش init انجام این همان چیزی است که در واقع ایجاد شیء است. ما برای اولین بار در فضا، درست مثل ما در C اختصاص، و سپس ما آن را مقداردهی اولیه، که ممکن است یا ممکن است بسیاری را انجام ندهید. آنگاه ما در حال بازگشت به این چیز به O شی. یک ستاره وجود دارد در اینجا به دلیل این است که از لحاظ فنی یک اشاره گر، اما نگران نباشید، اشاره گرها هستند که بزرگ معامله در C هدف دیگر نیست. حالا ما نمونه این کلاس به نام NSObject و این است که تنها یک کلاس به صورت تصادفی که اپل. ما نمونه، و در حال حاضر من یک نمونه از این کلاس در این O شی، به طوری که بدان معنی است که اگر من تعریف این روش می تواند آنها را مانند تماس بگیرید. به طور مشابه، اگر من می خواستم به تماس با استفاده از روش یک آرگومان، بنابراین این روش نوار، که طول می کشد یک استدلال، و در اینجا باز است: روش qux، بنابراین این 2 استدلال طول می کشد. این است که فراخوانی یک تابع در این O شی. را حس؟ نحو باید احساس، اما شما را به نوعی به آن استفاده می شود. خوب، اجازه دهید بحث در مورد چند چیز است که به هدف-C ساخته شده است که به C. لزوما ساخته شده است در C ما به نوعی تا به حال برای مقابله با رشته به عنوان این آرایه شخصیت احمق، و آن را واقعا آزار دهنده است. هدف-C است که همه برای ما ساخته شده است، و آن را در ساخته شده است با استفاده از این کلاس به نام NSString. وقتی که من می خواهم برای ایجاد یک NSString ما دارند نحو محرمانه تر است. و نه از گفت: "cs50" ما می گویند: "cs50" و این است که فقط نحو برای اعلام رشته ها در C هدف است. این بسیار آسان است برای فراموش کردن است، بنابراین انجام نمی. در حال حاضر، یک بار من که این کار، این رشته است، اما متوجه واقعا فقط یک شی است. من گفتم NSString، که به معنی من نمونه کلاس نام NSString، که شخص دیگری برای من نوشت، و آنها بسیار خوب در مورد آن است، و بنابراین در حال حاضر من می توانم شروع به فراخوانی روش بر روی آن است. اگر من اسمش را وارد نمایید روش شی این آن اتفاق را به من بازگردان طول رشته. این است که درست مثل strlen در C. این 4 بازگشت. به طور مشابه، یکی دیگر از روش من ممکن است بخواهید در مورد مراقبت از این characterAtIndex است. این روش که می گوید در رشته این است من می خواهم به شما برای به دست آوردن شخصیت 0، و بنابراین این را به من C شخصیت، و یک دسته کامل تر از این روش است که شما واقعا به راحتی می توانید از Google وجود دارد. مستندات اپل بزرگ است، و ما می خواهیم یک نگاه که در یک بیت را. کسانی که رشته هستند. ما نیز آرایه های اندازه متغیر ساخته شده است شوید. به یاد داشته باشید در C هنگامی که ما یک آرایه را اعلام کرد ما تا به حال به شما می گویند که 5 عنصر، پایان داستان است. هنگامی که ما به جاوا اسکریپت و PHP رو ما می توانیم شروع به انجام کارهایی مانند اضافه کردن عناصر یا عناصر در حال حرکت است. ما می توانیم در هدف-C انجام دهد. به جای ایجاد یک آرایه در C طبیعی ما دوباره کلاس دیگری به نام NSMutableArray. نیز وجود دارد NSArray، و این است که اساسا در محفظهای قرار دادن برخی از آرایه. این ماده می گوید اولین چیزی که من می خواهم به انجام این کار این است که من می خواهم به اختصاص فضا برای یک آرایه جدید است، و بعد از من آن را تخصیص من پس از آن باید آن را مقداردهی اولیه. باز هم، فقط خواستار این 2 روش. در حال حاضر این بدان معنی است که در داخل این جسم است من یک آرایه خالی نشسته وجود دارد. اگر من می خواهم برای اضافه کردن چیزی به این آرایه، می توانید از روش addObject تماس بگیرید. من می خواهم برای اضافه کردن یک شی به آرایه، و من می خواهم برای اضافه کردن رشته CS50. اگر من می خواستم در مقابل حذف است که می توانم بگویم من می خواهم به هدف در وهله اول در آرایه را حذف و یا جسم. را حس؟ خوب، شما نوع به این چیز براکت استفاده می شود. به هر حال، در داخل بسیاری از کتابخانه های اپل شما در این NS ها را ببینید. NS در واقع برای گام بعدی، که یکی از اولین شرکت استیو جابز بود می ایستد، و در آنجا بود که او واقعا شروع به نوشتن تعداد زیادی از کد به عنوان نوع پایه ای برای مک OS X و تمام چیزهای دیگر، و بنابراین این NS نوع از این میراث خوب فریاد را به یکی از شرکت های قبلی بازگشت هنگامی که اپل برای اولین بار شروع شد. این در همه جا. اجازه دهید نگاهی جامع در هدف-C به عنوان مثال. در اینجا من در داخل Xcode متعلق هستم. تا به اینجا برسم، من برای اولین بار به Xcode متعلق به از فروشگاه برنامه های دانلود شده، آن را گشود، و سپس من رفتم تا به فایل، در اینجا به پروژه جدید، و پس از آن. پس از من که من همه این گزینه ها از آنچه که من می خواهم برای ایجاد، و بنابراین ما باید یک نگاهی به این گزینه بعد را، اما فقط برای این مثال، از آنجا که ما در واقع رفتن به برنامه، من آمد، و به من گفت: ابزار خط فرمان، و این یک برنامه است که من می توانم در خط فرمان اجرا کنید درست مثل ما شده ایم در حال اجرا از C. این که چگونه من این پروژه است، و بنابراین در حال حاضر من اینجا هستم، بنابراین در نگاه اول این فایل، اجازه بدهید و این باید کاملا آشنا است. من نام و نام خانوادگی نوع int است. argc دوست من، دیگر من دوستان و argv وجود دارد. و بنابراین، ما می توانید ببینید که این نقطه ورود برای اولین بار هدف-C نرم افزار من است. در اینجا ما می توانیم این کار را در حال حاضر را نادیده گرفت. این است که اساسا برخی از مسائل مدیریت حافظه است که شما واقعا نمی همیشه باید به نگرانی در مورد. نگاه کنیم در این بلوک اول در اینجا. این خط اول، اگر من می گویند دانشجویی * آلیس = [[alloc دانشجویی] init انجام] آنچه که انجام؟ این دانش آموز اولین بار در اینجا، این است که احتمالا یک کلاس است. این یک کلاس است که اپل نوشت نیست، بلکه آن را در یک کلاس که من نوشتم. اولین چیزی که من می خواهم به انجام این کار این است که من می خواهم برای اختصاص فضا برای یک دانش آموز جدید، و پس از آن من می خواهم به آن مقداردهی اولیه، پس از این به من می دهد این شیء دانشجویی جدید، و من ذخیره سازی این کار را در یک متغیر به نام آلیس است. جایی که کلاس آمده بود؟ خوب، در اینجا در سمت چپ این همه از چند فایل مختلف را در داخل پروژه من. ما در اینجا می توانید ببینید من یک Student.h و Student.m. فایل در ساعت، به یاد داشته باشید، جایی است که تمام چیزهایی که من اعلام می کنم که در داخل کلاس وجود داشته باشد. بیایید نگاهی به آن. همه حق است، در اینجا ما باید این رابط @، و این می گوید که در اینجا می آید اعلامیه ها هر آنچه را که در کلاس من وجود داشته باشد. پس من باید یک روده بزرگ است. پس من باید این چیز NSObject است. این روده بزرگ دلالت دارد که کمی ارث ما در مورد یک کمی زودتر. این ماده می گوید همه چیز NSObject می تواند انجام دهد که در آن NSObject این کلاس نوشته شده توسط کسی دیگر است، همه چیز این NSObject می توانید انجام دهید من می خواهم که قادر به انجام این کار. گفت: NSObject که بدان معنی است که من اساسا به ارث برده همه از قابلیت های یکی دیگر از کلاس. که واقعا به من داد دسته کامل از روش های مختلف و خواص است که من می توانم با استفاده از. را در اینجا من 2 خواص. این بدان معناست که دانش آموزان من، اگر این ساختار، این خواهد بود 2 چیز در داخل ساختار من، پس هر دانش آموز یک نام که یک رشته است، و یک دانشجو نیز دارای یک کلاس، که از نوع int است. در نهایت، پایین در اینجا من قصد دارم برای ایجاد یک روش برای دانشجویان من است. من روش به نام من initWithName، و آن طول می کشد یک آرگومان، و این استدلال یک رشته است، و من آن را به نام نام. در حال حاضر نگاه کنید که چگونه ما در واقع پیاده سازی این کلاس اجازه دهید. در اینجا، در حال حاضر من در داخل فایل متر هستم. متر برای پیاده سازی، من حدس می زنم. من اجرای من، پایان من، و اینجا جایی است که من در واقع تعریف چه initWithName هم اینکار را در مورد شما نمی کنند. من initWithName، نام پارامتر من، و سپس این جایی است که من در واقع ایجاد یک دانشجو، و به همین ترتیب این کمی مرموز است، اما این نوع از boilerplate که شما می خواهید را در سازنده شما. این تابع مقدار دهی اولیه در اینجا، initWithName، نوع سازنده است. شما اساسا ساخت یک شی دانشجوی جدید و شاید ارسال برخی از داده ها را در داخل آن است. اولین چیزی که من می خواهم به انجام این کار این است که من می خواهم به تماس init انجام شده بر روی این چیز فوق العاده است. به یاد داشته باشید که زمانی که من در اینجا در فایل ساعت گفت: که همه چیز NSObject یک دانش آموز است. این بدان معناست که زمانی که من ایجاد یک دانشجوی آنچه که من نیاز به انجام است مطمئن شوید که NSObject که من وارث تمام آن داده ها از مقداردهی اولیه به درستی. چیزی که من نیاز به گفتن است که این فوق العاده است که در واقع رفتن به مراجعه به کلاس پدر و مادر که من از وارث، بنابراین من می خواهم تا مطمئن شوید که من مقداردهی اولیه همه چیز را که من بسته به قبل از من شروع به تلاش برای استفاده از آن است. سپس در صورتی که به درستی مقداردهی اولیه این است که درست مثل گفت: اگر malloc هیچ تهی نمی گرداند و سپس من می توانم شروع به تعیین برخی از خواص است. در جاوا اسکریپت و پی اچ پی ما این کلمه کلیدی به نام این، و این به عنوان مثال در حال حاضر از یک کلاس نامیده می شود. -C در هدف ما این خود تماس بگیرید. وقتی که من می گویم self.name، که بدان معنی است که جسم من فقط وقتی که من گفتم alloc دانشجویی init انجام: که به من داد یک شی. این بدان معناست که من می خواهم به مجموعه ای از نام آن شیء به هر آنچه که من فقط گذشت شوید. درست مانند C، اعضای ما با این نقطه دسترسی، بنابراین self.name می گوید: نام شی دانشجویی در حال حاضر برای رفتن به هر آنچه که شما فقط گذشت شوید. و به این ترتیب در نهایت، من می توانم از آن، بنابراین من در واقع به عقب بر گردیم به بازگشت. پرسش و پاسخ؟ خوب، پس این خود فوق العاده init انجام شده است، اگر شما را کاملا درک مسائل ارث نگران نباش. فقط می دانم که اگر شما همیشه می خواهید خود را بسازید روش init انجام انجام این کار، و شما خوب به آن بروید. آره. >> [دانشجو] اگر میانگین خود می کند؟ این به این معنی که هنگامی که ما malloc چیزی است که ما همیشه بررسی می شود اگر آن را برابر با تهی، و اگر آن تهی بود، پس از آن ما خارج شده است. این همان چیزی است، به دلیل اگر این تهی بازده، سپس ما احتمالا به گسل SEG اگر ما شروع به تلاش برای دستکاری. که در این کلاس دانش آموزان ما است. این بدان معناست که ما می توانیم دانش آموزان خود را در یکی از دو روش مقداردهی اولیه. اگر من می گویم alloc دانشجویی init انجام من که با استفاده از روش نیست که من فقط نوشتم، و به جای آن به سادگی می توانید alice.name می گویند، و در حال حاضر من قصد دارم مجموعه ای که نام ملک. به طور مشابه، اگر من می خواهم به استفاده از این روش initWithName من به سادگی می توانید alloc، می گویند و پس از آن به جای گفت init انجام من قصد دارم با این روش که من فقط ایجاد، و من قصد دارم در باب عبور. در این نقطه، این شی باب نام برابر به باب است. خوب، را در اینجا من با استفاده از این NSMutableArray که ما در قبل از آن نگاه کرد. من اختصاص space.Then من مقدار دهی اولیه آرایه جدید. من قصد دارم به اضافه کردن 2 چیز به آن است. این آرایه در حال حاضر دارای اشیاء دانش آموز است. توجه داشته باشید که هیچ جا من می گویند این است که مجموعه ای از دانش آموزان. من گفت: آن را در یک آرایه، دوره. پس من می توانم قرار داده است که هر چه در داخل آن است که من می خواهم. در اینجا من 2 اشیاء می باشد. در نهایت، من شی دیگری در اینجا، این TF. در اینجا در TF.h اساسا همان چیزی. من وارث از NSObject، و توسط راه، هنگامی که کلاس را ایجاد می کنید این است که همه را برای شما انجام می شود، این نوع از boilerplate رابط. این است اموال دانش آموزان است. من دو روش در اینجا است که واقعا نمی توانم در یک مقدار زیادی، و این بدان معناست که پس از ایجاد این شی TF من می توانم این کلاس روش بر روی آن مانند این است تماس بگیرید. هر گونه سوال در مورد C نحو هدف قبل از ما شروع به حرکت به برخی بیشتر مسائل توسعه برنامه های جالب؟ خوب، پس در واقع برنامه آیفون به شما اجازه می دهد تا. کلاس های هسته ای است که شما با استفاده از در داخل برنامه های آی فون خود را به نام کنترل مشخصات، و یک کنترل نمایش اساسا نشان دهنده یک صفحه نمایش تک در داخل برنامه شما، بنابراین اگر من در برنامه موسیقی هستم، به عنوان مثال، یک دیدگاه کنترل کننده می تواند این دیدگاه است که در آن به نظر من تمام آهنگ بر روی آیفون من را نمایندگی کند. یکی دیگر از کنترل مشخصات می تواند هنگامی که یک آهنگ کلیک کنید و شروع به نواختن آن و یا به عنوان من حفاری را به هنرمندان. هر یک از کسانی که صفحه نمایش های مختلف می تواند به عنوان یک کنترل کننده دیدگاه های مختلف نشان داده شده است، و کنترل مشاهده است که واقعا فقط یک کلاس است که می گوید این صفحه چگونه کار می کند. چیزهایی که در داخل یک کنترل نمایش، ما قصد داریم به خواص، بنابراین چیزهایی مثل یک دکمه برای رفتن به مالکیت از کنترل از نظر ما است. ما همچنین به روش، و این در واقع گرداننده رویداد. این روش می گوید: هنگامی که شما این دکمه را فشار دهید من می خواهم برای انجام کاری، و در نهایت، دوباره، ما قصد داریم تا با استفاده از این کلمه کلیدی خود برای دسترسی به عنوان مثال در حال حاضر. برای ساخت رابط های iOS است که در واقع واقعا، واقعا آسان است. آنها را به این درگ زیبا و رابط قطره به نام رابط ساز، و 2 مفاهیم اصلی که سیم-C تا هدف خود را به رابط ساز هستند IBOutlet و IBAction. IBOutlet به سادگی می گوید که اگر شما اعلام مالکیت که یک دکمه، و شما می خواهید به آن قلاب را به چیزی در UI واقعی خود را، شما در حال رفتن به می گویند که این خروجی. به طور مشابه، اگر شما می خواهید برای نشان دادن یک event handler پس از آن شما در حال رفتن به می گویند که این اقدام است. به واقع این نمایش تصویری سیم و کد خود را از آن واقعا ساده است. اگر شما می خواهید به ضمیمه IBOutlet، همه شما باید انجام دهید این است که شما کنترل را کلیک کنید. و ما نمونه ای از این واقعا سریع را ببینید. شما کنترل کلیک کنید که در آن می گوید: کنترل مشاهده است. شما در حال رفتن به رابط کاربری بکشید، و یا برعکس، اگر شما می خواهید به قلاب کردن یک event handler شما در حال رفتن به از رابط کاربری بکشید در جهت دیگر است. بیایید نگاهی به یک مثال IOS واقعا ساده است. ایجاد یک پروژه جدید. من قصد دارم به اینجا آمد تا به برنامه، و من قصد دارم برنامه نمایش پست تنها را کلیک کنید. من قصد دارم به روی بعدی کلیک کنید. من به پروژه من یک نام است. من آن را به میهمان تماس بگیرید. جالب توجه است، اپل فرض بر این است که شما در حال ایجاد یک محصول به طوری که شما می توانید آن را و فروش آنها می توانند پول را. را در اینجا من قصد دارم بگویم که این برنامه iPhone. شما می توانید برنامه اپل، ایجاد و یا اگر شما می خواهید برای ایجاد یکی از آن برنامه ها است که با پشتیبانی از هر دو دستگاه شما می توانید که بیش از حد انجام است. این همان چیزی است که شما می خواهید انعطاف برای تغییر اشیاء خود را به مانند نگاه. شما می خواهید به استفاده از داستانی، که ما آن را بعدا خواهید دید، و شما قطعا می خواهید به استفاده از شمارش خودکار مرجع، که یکی از ویژگی های خوبی است که شما مانع از داشتن برای گفتن malloc و آزاد است. مگر در مواردی که شما می خواهید به تماس malloc و آزاد، من این چک را ترک کنید. من روی next کلیک کنید، و در نهایت، این است که رفتن به از من بپرسید که در آن من می خواهم به آن را ذخیره کنید. من ایجاد، ضربه و در اینجا ما بروید. ایجاد یک پروژه جدید است. بیش از اینجا در سمت چپ تمام فایل های که در داخل پروژه من هستند، و توجه داشته باشید که من یک دسته کل، و من حتی انجام هر کاری است. IOS بزرگ است. به عنوان مثال، در اینجا این ViewController.h، این است که رفتن به نمایندگی از کنترل به نظر من برای اولین بار، به طوری که صفحه نمایش برای اولین بار در داخل برنامه من است. در حال حاضر ما می دانیم که چه می گوید. ما در حال گفت: من خواستار این ViewController کلاس، و ViewController می کند همه چیز را که یک UIViewController می کند، و این، دوباره، برخی از کلاس که اپل نوشت که بسیاری از چیزهای سودمند را برای ما می کند مانند نمایش روی صفحه نمایش. اینجا جایی است که من در واقع می توانید شروع به تعریف کنترل به نظر من، و معلوم است که من واقعا هر یک از این لازم نیست. این کد boilerplate که اپل به من می دهد به صورت رایگان است. من لازم است که خط اول، و یا من می توانم در یک کلاس را ندارد، بنابراین ما می توانیم از آن خلاص شدن از شر و از شر این. خوب، پس این صفحه خالی است. حالا با کلیک بر روی این MainStoryboard.storyboard و این جایی است که شروع به گرفتن جالب است. این نشان دهنده صفحه نمایش برای اولین بار در برنامه من است. اگر من می خواهم برای اضافه کردن یک دکمه، در HTML، من تا به حال برای ایجاد یک برچسب را فشار دهید. در آندروید شما باید به ایجاد یک برچسب را فشار دهید، اما در در iOS اگر من فقط پایین به اینجا می آیند به سمت راست پایین و اگر من در یکی از این 3 اینجا را کلیک کنید که در آن می گوید: اشیاء، و من می توانم حرکت کردن، یا من می توانم شروع به جستجو برای دکمه. و نگاه کنید، یک دکمه، بنابراین اگر من در واقع کشیدن و رها کردن این حق وجود دارد، من فقط یک دکمه به این صفحه در برنامه من اضافه شده است. اگر من می خواهم به تغییر متن، من دو برابر می توانید آن را کلیک کنید، چیزی می گویند فریبنده مانند "من را فشار دهید." خوب، در حال حاضر اگر من این برنامه را اجرا کنید، بنابراین ما آن را کامپایل، بنابراین آن را اجرا کنید بر روی دکمه بازی در سمت چپ بالا کلیک کنید، و برنامه من وجود دارد. من هر چیزی را انجام ندهید، من و شیرین به دنبال برنامه آیفون. اگر من می خواهم به آن را متوقف کند، شما می توانید دکمه توقف را کلیک کنید چرا که آن را سرگرم کننده تر است. اجازه دهید بگویم که من واقعا می خواهید چیزی اتفاق می افتد زمانی که من این دکمه را فشار دهید. برای انجام این کار آنچه که من نیاز به انجام است، نیاز به ایجاد کنترل کردن رویداد تازه یا یک عمل است. این بدان معناست که من نیاز به ایجاد برخی از روش های است که من می خواهم به آن می شود زمانی که من با فشار دکمه، بنابراین ایجاد یک روش جدید به شما اجازه می دهد تا. من در داخل ViewController.h هستم. من نیاز به گفتن است که یک روش وجود دارد. من نیاز به یک خط رابط بین کلماتی که نصف ان در سطر بعد واقع شده چون من قصد دارم به فراخوانی این کنترل نمایش. من نیاز به ارائه این نوع است. نوع از این خواهد بود که چیزی IBAction که ما دیدیم زودتر. این است که یک event handler، پس از آن به بازگشت به IBAction، و این اشاره به Xcode متعلق به می گویند که این چیزی است که من می خواهم چیزی به سیم است. من می توانم آن را یک نام را، مانند buttonPressed، نقطه و ویرگول بدین. در حال حاضر من یک روش جدید را در داخل کلاس من اعلام شده است. من گفت: این روش وجود داشته باشد. حالا وارد ViewController.m، و اجازه دهید می گویند این روش می تواند انجام دهد. اگر من شروع به تایپ کنید، برای مثال، (خالی) buttonPressed اطلاع Xcode متعلق به واقعا زیبا و برای من autocompletes. این واقعا شگفت انگیز است. توجه داشته باشید که در اینجا است که در داخل فایل متر من هم می توانم بگویم از درجه اعتبار ساقط است، و دلیل این است که IBAction است که در واقع یک نوع نیست. این در واقع hashtag تعریف جایی برای باطل، و باز هم، این است که فقط یک اشاره به Xcode متعلق به که می گوید: من می خواهم این را به یک event handler، و خواهیم دید که چرا در یک لحظه. هنگامی که این دکمه فشار داده شده است، من قصد دارم برای انجام کاری مزاحم مانند نمایش یک پنجره است. برای انجام این کار است که من می توانم یک نمونه جدید از این کلاس به نام UIAlertView ایجاد، و این یک کلاس است که اپل نوشت که رفتن به صفحه نمایش پرهای مزاحم است. ما این پنجره هشدار تماس بگیرید و من 2 مراحل، به یاد داشته باشید، برای ایجاد این شی. اولین چیزی که من باید برای انجام این کار این است که اختصاص فضا. من می خواهم یک UIAlertView. من می خواهم برای اختصاص فضا. این روش من است. روش بعدی من این است که من می خواهم به آن مقداردهی اولیه، و بنابراین من این روش طولانی و بزرگ، به نام initWithTitle. که اساسا برای کنترل این پنجره می گوید. عنوان پنجره من خوش آمدید. پیام این پنجره می تواند "این است که IOS." چیزی که نماینده، من نمی دانم چه چیزی است. بیایید می گویند که هیچ چیز آن را. حالا دکمه ی که به نظر می رسد می تواند چیزی شبیه به "مطمئن است،" می گویند و من واقعا نمی خواهید هیچ دکمه ای دیگر، بنابراین حذف آن و بستن براکت بگذارید. خوب، من یکی از فوق العاده است. وجود دارد بروید. این است که چگونه من می توانم یک پنجره جدید ایجاد کنید. اگر من می خواهم در واقع نشان می دهد که پنجره من می خواهم به فراخوانی متد نشان می دهد. برای انجام این کار می تواند هشدار و نشان می دهد می گویند، و دوباره، تکمیل خودکار فوق العاده خوبی بود. اگر من را فراموش کرده بود که اگر من فقط در S تایپ، من می توانم حرکت از اینجا به کشف کردن آنچه در آن بود، و فیلتر سادگی. حالا من این پنجره جدید است. ما باید به آنچه که نماینده به معنی بعد، و در حال حاضر من می خواهم بگویم من می خواهم این روش به اخراج می شود هنگامی که دکمه را فشار دهید، به طوری که من قصد دارم به بازگشت به داستانپردازی من، و من می خواهم به ضمیمه این IBAction. اولین چیزی که شما می خواهید برای انجام این کار این است که با کلیک بر روی دکمه. زمانی که من با فشار این دکمه می خواهید چیزی اتفاق می افتد. من قصد ندارم به پایین نگه داشتن کنترل. من قصد دارم از دکمه کلیک کنید و بکشید در اینجا که در آن می گوید: کنترل مشاهده است. ما می توانید ببینید که آن را به سادگی چراغ. اگر من اجازه رفتن با ماوس من من در حال حاضر باید این پنجره را در اینجا جایی که من به برخی از گزینه های. یکی از این حوادث است که من می توانم برای ثبت نام اینجا را کلیک کنید. این ها همه از کسانی که روش های اعلام شده در پرونده من در ساعت به عنوان IBActions. این است که چگونه Xcode متعلق می داند که چه باید در این لیست کوچک ظاهر می شود، به طوری که فقط یک اشاره است. اگر با کلیک بر روی دکمه فشرده، من در حال حاضر ثبت نام گرداننده رویداد. در جاوا اسکریپت، ما تا به حال بگویم که بعضی از کد است که ثبت نام اداره کننده رویداد. در هدف-C آن را واقعا آسان است. اگر من برای اجرای این دوباره در حال حاضر زمانی که من با فشار دکمه کنترل رویداد من است در برابر آتش، و من قصد دارم به این پنجره. فوق العاده، فوق العاده ساده ای وجود دارد. اگر شما همیشه می خواهید برای دیدن همه ی از اتفاقاتی که رخ می دهد به ثبت نام بر روی یک قطعه اگر من بر روی این دکمه کلیک کنید و من می آیند در اینجا به سمت راست در ابتدا شما می توانید ببینید که من در اینجا می توانید چیزهایی مانند نوع دکمه، بنابراین اگر شما می خواهید یکی از آن من و یا دکمه تماس با ما افزودن یا هر چیز دیگری. اگر من می خواهم برای دیدن همه ی رویدادها که بر روی این دکمه، اگر من به تمام راه را به سمت راست ما در اینجا می توانید ببینید که در من داشته اند و تمام این وقایع مختلف. من می توانم دکمه را فشار دهید وقتی که من اجازه رفتن را فشار دهید، هنگامی که شیر من با دو یا هر چیز دیگری، و من فقط ثبت نام این رویداد به نام لمس کردن در داخل، و این می گوید که به زودی به عنوان انگشت من می آید کردن دکمه آن حادثه در حال رفتن به آتش، و این دقیقا همان چیزی است که اتفاق افتاده است. این نوع از پیش فرض رویداد دکمه فشار داده شده است. هر گونه سؤال تا کنون؟ خوب، این که چگونه ما می توانیم شروع به سیم چیز در کد ما به چیزهایی داخل رابط ما. به یاد داشته باشید اولین چیزی که ما تا به حال انجام بود برای پیدا کردن کد و پس از آن ما سیمی رابط کاربری را با کد، و برای اولین بار این برنامه ما وجود دارد. خوب، بود که واقعا سرد است، و ما در ایجاد این دکمه. چه می شود اگر ما نمی خواهیم برای ایجاد یک دسته از خواص به نمایندگی از این دکمه ها؟ برای مثال، در حرکات غیر ارادی اندامها پا تام من 9 دکمه، و از آن می شود، فوق العاده، فوق العاده آزار دهنده به کشیدن و رها کردن 9 بار یا اگر من تا به حال به حرکات غیر ارادی اندامها پا تام با 81 به جای از 9 و من تا به حال 81 بار کشیدن و رها کردن، و این لنگ. آنچه ما به جای آن می توانید انجام دهید این است که بسیار شبیه به HTML هنگامی که ما تا به حال چیزهایی مانند شناسه و نام و ما می توانیم برای همه چیز توسط ID خود، یک مفهوم مشابه در iOS را به نام برچسب ها وجود دارد. یک برچسب است که به سادگی یک شناسه عددی منحصر به فرد برای یک جزء. اگر من می گویند این یک تگ از 0 به عنوان مثال، اگر یک دکمه ایجاد کنم و به آن برچسب را از 0 به من بدهید، و خواهیم دید که چگونه به انجام این کار در یک لحظه، اگر من می خواهم به آن دکمه می توانید به سادگی می گویند من می خواهم به تماس ، viewWithTag روش بر روی شیء در اینجا self.view، که نشان دهنده صفحه نمایش در حال حاضر، به عنوان مثال. اگر من اسمش که روش viewWithTag، من قصد دارم به جلو و عقب را فشار دهید با برچسب 0. بیایید نگاهی به این ساختمان تیک تاک انگشت پا. اول، این داستانپردازی من است. من ایجاد کرده اید این 10 دکمه UI. توجه داشته باشید که همه آنها به همان اندازه است. اگر یکی از این کلیک کنید و من دوباره در اینجا در این سمت راست شما خواهید دید من تنظیم فونت حق در اینجا، بنابراین من فونت کمی بزرگتر است، اما چیزی که من هم بود من مجموعه ای از این برچسب. به من گفت که این برچسب، از مجموع 1، که در سمت چپ بالا است. در حال حاضر، اگر یکی دیگر از دکمه کلیک کنید، مانند این یکی در اینجا، در حال حاضر شما خواهید دید که برچسب من است 2. هر کدام از این دکمه ها فقط دارای یک برچسب منحصر به فرد، و پس از این بعد چگونه می توانم قصد دارم برای شروع تعامل با برنامه من. این همه در داخل یکی از نمایش کنترل است. اما در اینجا چیزی است که ما داریم. ما 3 خواص در اینجا. یکی از اولین و آخرین در حال رفتن به نمایندگی از دولت هیئت مدیره است. در واقع این یکی از اولین آرایه نمایندگی که در آن XS و سیستم عامل است. این یکی دیگر در اینجا به ما می گوید که به نوبه خود آن است. شما متوجه خواهید شد که من هم این چیزها در اینجا. قبل از زمانی که ما اعلام کرد که خواص ما به آنها یک نام و یک نوع است. ما همچنین می توانیم آنها را در اینجا برخی از اطلاعات اضافی. این اولین nonatomic می گوید، و چه این ماده می گوید تنها یک چیز است که اساسا هرگز تلاش می شود برای دسترسی به این متغیر در یک زمان است. شما می توانید برنامه های کاربردی پیچیده تر است که چند رشته ای انجام دهید، و به همین ترتیب به خراش ما تا به حال موضوعات مختلف، و جن های مختلف می تواند انجام کارهای مختلف در همان زمان. در صورتی که این مورد، که آن را در هر چیزی که ما می شود به دنبال در نیست، اگر ما می گویند nonatomic در واقع این همه چیز را کمی سریعتر است. ما نیز از این چیزی به نام تخصیص، قوی یا ضعیف است. این اختصاص دهید فقط می گوید که این یک نوع استاندارد است. این یک شی و یا یک اشاره گر است نه به خاطر این است که فقط یک بولی، بنابراین بولی است که به هدف-C ساخته شده است. این ماده می گوید سعی نکنید هر چیزی فانتزی با اشاره گرها در اینجا به انجام. این یک رونده به طور منظم است. قوی و ضعیف، ضعیف می گوید که در واقع من می خواهم این را به اشاره به چیزی در کنترل مشاهده است. من قصد ندارم در واقع تخصیص و یا init انجام این خودم. سازنده رابط، زمانی که من برای اجرای برنامه است، رفتن به رسیدگی به همه که دهی اولیه. اگر ضعیف است، من می گویم که می گوید شخص دیگری در حال رفتن به ایجاد این. اگر من می گویم قوی است، این ماده می گوید که من قصد دارم به یکی از که در ایجاد این شیء هیئت مدیره، و بنابراین در اینجا من روش برخی بیشتر در اینجا برای مثال، یک عمل برای زمانی که بازی های جدید بر روی دکمه فشار داده شده است، اقدام برای زمانی که هر یک از دکمه های دیگر، فشرده، و غیره و همکاران. ما نمی خواهد به بیش از حد از منطق از تیک تاک انگشت پا، با وجود آن که بسیار هیجان انگیز است، اما بیایید نگاهی به بعضی از چیزهایی که ما می توانیم در داخل به IOS. این روش بازی های جدید در حال رفتن به اخراج می شود هر زمان که بازی های جدید بر روی دکمه I را فشار دهید. به قلاب که من به سادگی می آیند را به استوری بورد من. من در بازی جدید کلیک. اگر من می آیند در اینجا به سمت راست من می توانم آن را مشاهده کنید لمس کردن در داخل است به روش newGame سیمی. به همین دلیل این است که رفتن به اخراج. روش newGame است به انجام برخی از راه اندازی. رفتن به می گویند من می خواهم به شما برای روشن شدن وضعیت هیئت مدیره است. این یک روش خوب در ثبات آرایه است. این است که می گویند در حال حاضر به نوبه خود X، و در حال حاضر من می خواهم را به استفاده از این چیزی viewWithTag. من می دانم که دکمه های من برچسب ها 1-9 و این چیزی است که من خودسرانه برداشت. اگر من می خواهم به هر یک از دکمه برای تنظیم متن خالی باشد چرا که من فقط شروع یک بازی جدید است و من می خواهم نه XS یا سیستم عامل باقی می ماند من می توانم این کار را انجام دهند. می توانم بگویم من می خواهم با برچسب، 1، 2، 3، 4 و غیره. با این کار جلو و دکمه های مختلف در هر زمان. در اینجا من قصد دارم به بازیگران به UIButton. درست مانند ما می توانند به نوع داده int به شناور و بالعکس بازیگران این ماده می گوید که من می خواهم به بازیگران به UIButton. این بدان معناست که این نوع خواهد بود * UIButton به دلیل از اشاره گر، اما نگران نباشید، آنها ترسناک نیست دیگر. هنگامی که من این را فشار دهید من قصد دارم با یک روش بر روی آن است. این روش به نام setTitle forState، و به همین ترتیب این ماده می گوید من می خواهم به مجموعه ای از متن دکمه به رشته خالی، و من می خواهم آن را به رشته خالی زمانی که آن را فشرده. اگر من با استفاده از این روش، من می توانم متن دکمه را تغییر دهید به محض این که کسی در آن بازدید، اما ما می خواهیم می گویند وقتی دکمه تنها نشسته وجود دارد من می خواهم متن خالی باشد. در نهایت، ما در حال رفتن به مقداردهی اولیه هیئت مدیره، و من قصد دارم برای گفتن که همه چیز در حال حاضر 0، بنابراین این هیئت مدیره تغییر ناپذیر اعضای یک آرایه قابل تغییر است، که بدین معناست که می توانید از روش addObject و تنها در داخل که 0 نفر از آن تماس بگیرید. این چیزی است که اتفاق می افتد زمانی که من ایجاد یک بازی جدید است. بیایید نگاهی به یکی دیگر. این روش در اینجا IBAction که رفتن به فشرده است در هر زمان یکی از کسانی که مربع فشار داده شده است. در حال حاضر ما باید منطق پا برخی از تیک تاک در اینجا. ما شکل که به نوبه خود آن است، و بر اساس آن ما یا X یا O، اما ما می بینیم که ما در حال استفاده مجدد از این کنترل رویداد برای هر یک از آن دکمه. این بدان معنی است که من می توانم در یک روش بر روی دکمه بالا سمت چپ را ندارد، روش های مختلف برای دکمه سمت راست پایین، اگر چه من می توانستم انجام داده است که. که واقعا نمی شود طراحی خوب است. آنچه من انجام می دهند در اینجا این است که من در واقع برای تعیین آنچه که برچسب از دکمه بود که فشرده شده است. شما متوجه است که این روش بازی طول می کشد یک آرگومان است. نام فرستنده، فرستنده است فرستنده در حال رفتن به نمایندگی دقیقا همان چیزی است که عمل بر گرفته شده است. اگر یک دکمه را فشار دهید، این فرستنده است که رفتن به این باشد که UIButton که من در واقع فشرده، به طوری که بدان معنی است که که UIButton برچسب چون من ایجاد یک برچسب. اگر من می خواهم به برچسب به سادگی می توان گفت من می خواهم تگ فرستنده، و دوباره، من فقط آن را به UIButton قالبی. من اتفاق می افتد که می دانیم که فرستنده خواهد بود UIButton. این همیشه باید به UIButton. من می توانم به عنوان مثال، برای ثبت نام اینجا را کلیک کنید هندلر  برای یکی یک دکمه، یک لغزنده است. در این مورد، من می دانم که آنها همه دکمه ها، بنابراین من قصد دارم برای گفتن من می خواهم این را به عنوان یک دکمه، و پس از آن من می توانید از تگ دریافت کنید، و از تگ من در حال حاضر جایی که من داخل هیئت مدیره هستم. سپس من به سادگی می توانید هر یک از X و یا O، می تواند به نوبه خود تلنگر مجموعه، بررسی کنید که به دست آورد، و غیره. هر گونه سوال در مورد این که تا کنون؟ خوب، تمام کد ارسال شده در آنلاین ما نمی خواهیم به بیش از حد تیک تاک پا منطق است، اما در حال حاضر شما می توانید ببینید که واقعا همه ما انجام می دهیم این است که ما در حال حلقه در طول این آرایه، بنابراین ما باید یک زن و شوهر برای حلقه های اینجا، و ما فقط نسبت به می توانم در یک بازی در همه ردیف ها، یک بازی در یک ستون و یا هر چیزی شبیه به آن را داریم. در واقع این برنامه، اجرا، اگر من بر روی یکی از این دکمه ها ضربه بزنید که روش بازی اخراج شده بود، به طوری که یعنی من فقط تنظیم را فشار دهید به X است، بنابراین در حال حاضر این دکمه خواهد بود O، و به همین ترتیب، و به طوری که چگونه ما شروع به تعامل با این برنامه است. خواهیم کد پستی، بنابراین احساس رایگان به مطالعه کردن که، اما اجازه دهید در حال حاضر بحث در مورد برخی از برنامه ها هستند که بیش از یک صفحه. به عنوان هیجان انگیز به عنوان تیک تاک انگشت پا بود، بسیاری از برنامه ها در داخل به IOS نوع از این مته به پایین همه چیز را با صفحه نمایش های چندگانه. مفهوم اولین بار است که ما نیاز به صحبت کردن در مورد پروتکل های، و یک پروتکل است که به سادگی مجموعه ای از روش که شما می توانید وعده به کار گیرید. اگر این پروتکل جدید با 2 روش اول این ایجاد کنم، اگر نوع بازگشت از درجه اعتبار ساقط است، من آن را به نام صنایع غذایی. این طول می کشد بدون آرگومان. من روش دیگری. این تابع از نوع int است. من آن را به نام نوار، و آن طول می کشد یک آرگومان است. تمام این پروتکل این است که به نام SomeProtocol اینجا، این یک مجموعه ای از چیزهایی که کسی می تواند پیاده سازی شده است. من در داخل این پروتکل گفت: آنچه صنایع غذایی می کند. در عوض، من فقط گفت: شما می توانید صنایع غذایی اگر می خواهید به تعریف. اگر من ایجاد یک کنترل نمایش و یا ایجاد یک کلاس من در داخل می تواند از آن وعده کلاس برای پیاده سازی برخی از این روش، به طوری که برای مثال، اگر می گویند این در حال حاضر می گوید: من وعده را به شما که در داخل از این کلاس کنترل مشخصات من به تعاریف برای صنایع غذایی و نوار هر دو را داشته باشد. این است که چرا مفید است؟ بسیاری از قطعات در داخل به IOS استفاده از این الگوی طراحی به نام هیئت، و آنچه هیئت می گوید: این است که، برای مثال، اگر من یک جعبه متن و برخی از رویدادی است که می تواند در داخل جعبه متن من ثبت نام وجود دارد، به جای ایجاد وقایع جداگانه آنچه که من می توانید انجام دهید این است که من می توانم بگویم نماینده ای از این جعبه متن خواهد بود برخی از جسم است. وقتی که من می گویم این است که یک نماینده در حال حاضر است که بدان معنی است که هر زمان که برخی از رویداد را در جعبه متن از کار اخراج شده اند به جای داشتن به آن و یا هر چیزی که می خواهم برای ثبت نام اینجا را کلیک کنید فقط رفتن به فراخوانی متد نماینده. به عنوان مثال، در داخل جعبه متن من من یک روش برای زمانی که من را فشار دهید این دکمه در سمت راست پایین انجام می شود، و به همین ترتیب به جای ثبت نام گرداننده رویداد چیزی است که من می توانم بگویم این است جعبه متن، در اینجا یک شی است که من می خواهم شما را به تماس با متد هر زمان پرس کسی دکمه انجام می شود، و این بدان معناست که آن شی برای به اجرا درآوردن برخی از پروتکل است که می گوید: قول می دهم که عمل انجام شده را فشار دهید برای تعریف، چرا که اگر آن را می کند که روش تعریف نیست و شما با فشار انجام می شود، سپس آن را گیج کننده می شود. بیایید نگاهی به یک مثال. در اینجا من به سادگی یک جعبه متن، و یکی از خواص از این جعبه متن را در اینجا در این سمت راست نماینده است. این اموال از کلاس است. چیزی که من در اینجا این است که من کنترل کلیک شده است، و من از این نقطه به اینجا کشیده کنترل مشخصات، و می گوید که در حال حاضر نماینده ای از این جعبه متن رفتن به کنترل مشاهده است. این بدان معنی است که زمانی که برخی از عملیات رخ می دهد، به جای ثبت نام گرداننده رویداد جداگانه من می خواهم شما را به ارسال آنها به delegate است. حالا نگاهی به نظر من کنترل به شما اجازه می دهد تا. در داخل فایل ساعت من یک وعده است. به من وعده داده شده برای پیاده سازی برخی از روش داخل این پروتکل به نام UITextFieldDelegate، و دوباره، این است که فقط برخی از لیستی از برخی از چیزهایی که من می توانید انتخاب کنید برای پیاده سازی است. اگر من به اینجا می آیند در فایل متر من، من پیاده سازی یکی از این روش ها است. من آن را به نام textFieldShouldReturn زیرا این چیزی است که آن را در داخل این پروتکل نامیده می شد. و در حال حاضر هر زمان که من فشار دکمه انجام می شود در داخل فیلد متنی است که این همان چیزی است که رفتن به نامیده می شود، بنابراین من یک event handler برای ثبت نام اینجا را کلیک کنید. من متصل نماینده، و هر زمان که این رویداد از کار اخراج شده است این روش که برای به نام است، پس اگر من می آیند در اینجا به داستانپردازی من و آن را اجرا کنید. در حالی که بارگذاری ما می توانید ببینید که چه می کند این است. بر روی صفحه نمایش من من 2 چیز است. من در این زمینه متن، و من این برچسب. من به سادگی گفت: من می خواهم متن این برچسب برابر به هر کاربر در داخل فیلد متن تایپ شده است. این خط بعد در اینجا است که به سادگی یک روش که من خواستار در زمینه متن که می گوید من می خواهم به شما برای مخفی کردن صفحه کلید. این است که فقط از روش خودسرانه که اپل را انتخاب است. باز هم، قبل از اینکه من چیزی من تا به حال به سیم همه چیز، بنابراین من برای اولین بار آمد در اینجا. از کنترل مشخصات من را بکشید را به جعبه متن. من اجازه رفتن، و من در اینجا می توانید ببینید که من می توانم این متن املاک میدان را از اینجا در کنترل مشخصات، تعریف ملک من که IBOutlet یک فیلد متنی می باشد. این ماده می گوید که من می توانم این ویژگی سیم به یک رشته متن در UI. در حال حاضر زمانی که این من کلیک می توانید شروع به تایپ. در حال حاضر اگر من کلیک دکمه انجام می شود این است که رفتن به آتش یک رویداد که من در حال حاضر می توانید به پاسخ. گرداننده رویداد. این که چگونه من فقط به آن دکمه انجام می شود. را حس؟ این یک الگوی طراحی شده است که شما تا به حال ممکن است به خودتان پیدا کنید ایجاد پروتکل خود را، اما فقط می دانم که برخی از اجزای مختلف در iOS برای ثبت نام اینجا را کلیک کنید حوادث در راه های مختلف. دکمه ها، به عنوان مثال، استفاده از آن IBActions. فیلدهای متنی، از سوی دیگر، در حال رفتن به استفاده از نمایندگان است. ما می توانید ببینید و شما می توانید همه که داخل تا اسناد نگاه کنید. به هر حال، در واقع از یک تن مواد UI به IOS برای شما ساخته شده است وجود دارد، بنابراین برای مثال، راه من ساخته شده است که می گویند در سمت راست پایین انجام می شود این است که من انتخاب این رشته متن. من اومدم اینجا. من میکنین پایین کمی به بازگشت کلید، و من در واقع می تواند این دسته از مسائل، مانند اگر من می خواهم که برای گفتن تماس اضطراری به جای من می توانم آن را انجام دهد که کاملا تصادفی است. و من نمی دانم که چرا ساخته شده است در دکمه تماس اضطراری وجود دارد، اما وجود دارد، آن را می گوید تماس اضطراری در نامه واقعا کوچک است. شما بروید. قطعا همه از این گزینه های مختلف در در iOS کشف. هر گونه سوال در مورد نمایندگان؟ دوباره، فقط یک الگوی طراحی جالب است که شما باید آگاه باشند از. خوب، اجازه دهید بعدی نگاهی به نمایش ها جدول. مشاهده جدول است که اساسا که لیستی از اقلام است که بیش از همه در محل IOS. هنگامی که شما در حال کوه در می رم از طریق تمام مخاطبین شما، شما در حال نگاه کردن به صفحه تنظیمات، و این نوع از لیستی از چیزهایی مشاهده جدول نامیده می شود. اجرای نمایش جدول در IOS خیلی ساده است. به جای ساخت یک کلاس که از آن UIViewController فرود مثل ما انجام داده ایم، قبل از اینکه ما به سادگی نیاز به گفتن به جای همه چیز UIViewController می کند من می خواهم به انجام این کار، من می گویم همه چیز UITableViewController می کند من می خواهم به انجام این کار، به طوری که به سادگی می افزاید: برخی از چیزهای اضافی که کاملا برای ما انجام می شود. ما نیاز به کار بسیار کمی اساسا در جاهای خالی داخل جدول را پر کنید. به منظور نشان دادن جدول من باید برای پاسخ به برخی از سوالات. اولین سوال من نیاز به پاسخ این است که چگونه بسیاری از بخش است که در جدول هستند؟ هنگامی که شما در حال کوه در می رم از طریق نرم افزار شما تماس با ما، شما متوجه خواهید شد که این نوع به عنوان سازمان یافته، و سپس شما باید BS، و شما باید که زیر هدر کمی. هر یک از آن بخش نامیده می شود. شما ممکن است یا ممکن است این نیاز نیست. اولین چیزی که شما باید انجام دهید این است که پیاده سازی یک روش نام tableView: numberOfSectionsInTableView. که به سادگی می گرداند که چگونه بسیاری از بخش های به شما، پس از این بازگشت اگر شما یکی از نمایش جدول بزرگ می گویند. سوال بعدی این است که در iOS نیاز به دانستن این است که چگونه بسیاری از ردیف دارید؟ به عنوان مثال، شما در حال کوه در می رم از طریق مشاهده جدول. شما یک عدد ثابت از آهنگ های شما دنبال آن هستید و یا شماره ثابت از مخاطبین. اگر شما به من، البته، نه آن که بسیاری از، و به طوری که چگونه در iOS می داند که چگونه بسیاری از سلول ها به نمایش. باز هم، این می تواند چیزی مثل بازگشت 3 می گویند. مشاهده جدول دارای 3 ردیف است. در نهایت، IOS نیاز به دانستن آنچه که هر سلول به نظر می رسد مانند، پس آنچه که در واقع رفتن به انجام این روش را در اینجا، در این tableView: cellForRowAtIndexPath. این که به این روش در هر سلول منفرد در داخل جدول خود را. چگونه آن را می دانم که چند بار به آن تماس بگیرید؟ خب، شما آن را در داخل تعداد ردیف در بخش گفت. ما قصد داریم تا این کار را در هر یک از سلول های ما تماس بگیرید. و در داخل از این است که در آن شما در واقع می توانید انجام کارهایی مانند مجموعه ای از متن و یا به شما بگویم آنچه که دکمه آبی کوچک در سمت راست می کند. الگوی برای گرفتن این سلول ها، ما قصد داریم تا با استفاده از این روش به نام dequeueReusableCellWithIdentifier. هدف-C است که در واقع به خوبی شناخته شده برای طول مضحک از نام روش خود را، و این است که واقعا مورد خوب در این مثال نقطه است. این روش این است که فقط می گوید که من می خواهم شما را به یک سلول به من بدهد. فقط یک چیز IOS. اگر شما چیزی مانند 100.000 آهنگ در آی پاد خود را آنچه در iOS نمی خواهند به انجام است که اختصاص 100.000 سلول، چرا که اگر شما در بالای لیست شما هستیم، آیا شما واقعا نیاز به تخصیص حافظه برای سلول است که 99،000 سطر پایین؟ نه، چون که شما در حال مرور شما می توانید نوع تخصیص را به عنوان شما را به همراه. این است که برای شما انجام می شود. شما لازم نیست که به نگرانی در مورد تمام چیزهای که عملکرد احمقانه است. همه شما می گویند شما به این روش dequeueReusableCellWithIdentifier، و این می گوید: خوب، اگر شما نیاز به من قصد دارم به ایجاد یک سلول جدید را برای شما. اما اگر شما در پایین جدول هستیم و شما در حال حاضر اختصاص داده است برخی از سلول های در بالای جدول است که شما واقعا نیاز به این زودی من قصد دارم به شما یکی از کسانی که به جای تخصیص یک را، و بنابراین این نگرانی عملکرد خوب است. شما لازم نیست که به تخصیص سلول های خود است. که می خواهم به شما یک سلول است. رفتن به بازگشت به یک شیء همراه است. هنگامی که شما جسم سلولی شما می توانید مسائل را به انجام آن است. شما می توانید متن از سلول را با این ویژگی به نام برچسب متن را تنظیم کنید. شما می توانید این فلش در سمت راست و یا برخی از چیزهای دیگر تصادفی با این ویژگی دیگر به نام accessoryType، و غیره و غیره. بیایید نگاهی به واقع اجرای نمایش جدول در حال حاضر. وقتی که من این پروژه را ایجاد به جای گفتن نرم افزار نمایش پست تنها من در واقع آمد در اینجا جزئیات نرم افزار استاد، و بنابراین اساسا این مربوط به برنامه پست الکترونیکی در iPad با مشخصات جدول در سمت چپ و پس از آن در سمت راست است. بر روی آی پاد و یا آی فون این است که رفتن به مربوط به نمایش تک جدول. این جایی که من کد استارتر من. اجازه دهید ابتدا نگاهی در داستانپردازی است. همه این ها برای من انجام شد، اساسا ایجاد شده است. این نوار پیمایش به من نشان داد که یک سلول به عنوان مثال می تواند شبیه، و من دو برابر این کار، کلیک کنید عنوان را تغییر دهید. هر گونه نگرانی UI دیگر من وجود دارد می توانید مسئولیت رسیدگی به. فایل هدر به نظر می رسد واقعا ساده است. به جای گفتن این UIViewController ما گفت: در حال حاضر این است که TableViewController، بنابراین ما می دانیم که ما می خواهیم به تمام کسانی که روش جدول تماس بگیرید. بعد من می خواهم برای ایجاد یک ویژگی است که به نمایندگی همه چیز در داخل جدول. این جدول در حال رفتن به خودسرانه نمایش یک لیست از میوه، و بنابراین من نیاز به ایجاد برخی از آرایه که در آن من می تواند میوه را وارد کنید. در داخل فایل اجرای من اولین چیزی که من می خواهم این است که من می خواهم تا مطمئن شوید که این آرایه مقداردهی اولیه می کنم. من گفتم alloc init انجام، ایجاد آرایه میوه من، و من اضافه کردن 4 چیزهایی که به آن، که یکی از آنها بسیار بحث برانگیز تر از 3. و در حال حاضر من یک آرایه از اندازه 4. ما آن را تکان دادن در CS50. من در حال حاضر مجموعه ای از اندازه 4. حالا من قصد دارم برای شروع به پاسخ دادن به این پرسش ها، و در واقع، زمانی که من این برنامه از این در حال حاضر برای من انجام شد. من مجبور نیستم که برای تایپ کردن شماره بخش در جدول مشاهده. آن در حال حاضر وجود دارد، و من در جاهای خالی پر است. چگونه بسیاری از بخش های را داشته باشم؟ یک. کلیه انجام می شود. چگونه بسیاری از ردیف داشته باشم؟ خوب، من یک ردیف برای هر میوه، به طوری که این تعداد یک ملک از هر آرایه است که می گوید: چقدر بزرگ است آن است؟ که چگونه بسیاری از ردیف من. در نهایت، من نیاز به گفتن چه هر سلول شبیه؟ من قصد دارم برای گفتن dequeueReusableCellWithIdentifier. باز هم، این در حال حاضر برای من بود نوشته شده است. من برای انجام این کار خودم، و من می خواهم به عقب بر گردیم این سلول در این مکان. به یاد داشته باشید که ما خواستار این روش در هر سلول واحد، و این بحث در اینجا، این استدلال indexPath، می گوید چه ردیف من شوید. اگر من می گویم indexPath.row را در اینجا این خواهد بود 0، سپس آن را به 1، و سپس آن خواهد بود 2، و این است، بنابراین من می دانم چه سلول من در حال نمایش است. من می خواهم به تنظیم متن از سلول با استفاده از این ویژگی textLabel به داخل آرایه میوه من و شی مربوط به هر سطر است. اگر این است که یک رشته است، من در حال حاضر تنظیم ملک متن را به یک رشته است. من می توانم یک چیز دیگر را انجام دهید. من همچنین می توانید یک event handler را در هر یک از سلول ها برای ثبت نام اینجا را کلیک کنید تا زمانی که هر یک از این سلول من شیر این didSelectRowAtIndexPath، این است که رفتن برای من نامیده می شود، بنابراین به سادگی با تعریف این من هم اکنون می توانید آنچه اتفاق می افتد که مسئولیت رسیدگی به هنگامی که یک سلول شیر، و دوباره، ما در حال گذر است که در آن سلول های شنود گذاشته شد به طوری که ما می توانیم این کنترل رویداد یکسان برای تمام سلول های ما استفاده نمایید. باز هم، این چیزی IOS در انجام این کار برای من است. بیایید یکی دیگر از پنجره مزاحم که به سادگی می گوید: چیزی که در آن است که چیزی را برداشت رفتن به شی ردیف. وقتی که من برای اجرای این، من قصد دارم به این مشخصات جدول زیبا با یک ردیف برای هر یک از این میوه، و اگر یک من شیر آن را به من می گوید چه اتفاقی افتاده است. را حس؟ اجازه ساخت یک کمی پیچیده تر از برنامه، به همان اندازه که نوشتن مطالب لازم است شما برداشت گوجه فرنگی است. بخش خوبی در مورد storyboarding آن را نه تنها به ما کمک می کند صفحه نمایش طراحی جداگانه، آن را نیز به ما کمک کراوات با هم کل برنامه ما، برنامه نهایی ما خواهید بود ساختمان این خواننده خوب اخبار ورزشی، و پس از آن رفتن به صفحه نمایش های چندگانه، و من در واقع می تواند نمایندگی هر یک از این صفحه نمایش های متعدد در داستانپردازی، و من می توانم زوم کنید و ببینید برنامه من از یک سطح بالا. به منظور ایجاد یک عنصر درون جدیدی از داستانپردازی من این واقعا ساده در داخل سازنده رابط. اگر من می خواهم برای اضافه کردن یکی دیگر از صفحه نمایش به این، برای مثال، من برای اولین بار می توانید از زوم با زوم خرج کردن که اپل خیلی دوست دارد، و پایین در اینجا قبل از من برای دکمه ی جستجو و من کشیدن و رها کردن یک دکمه اگر من می خواهم برای ایجاد یک صفحه جدید در واقع من فقط می توانید با کشیدن و رها کردن کنترل کل نمایش، بنابراین اگر من را انتخاب کنید، آن را بکشید در اینجا، هی، یکی دیگر از صفحه نمایش وجود دارد، و بنابراین در حال حاضر با استفاده از این فایل همان استوری بورد من می توانم از صفحه نمایش در داخل برنامه من، و من می توانم زوم و ببینید که چگونه آنها در تعامل است. این امکان تعامل است. روشی که در آن تعامل این 2 صفحه نمایش است که روابط را تعریف کنید. شما اساسا می تواند این صفحه، می گویند هنگامی که شما این دکمه را فشار دهید، من می خواهم شما را به اسلاید را به این صفحه جدید. این بدان معناست که در این نوع رابطه وجود دارد  صفحه اول و صفحه دوم. شما اساسا باید یک پیکان از آن دکمه به صفحه دوم و گفت که زمانی که این دکمه را فشار می دهید که جایی که من می خواهم به. درست مثل ما کنترل کلیک کرده و برای تعریف این رسانه کشیده میشوند ما قصد داریم برای انجام کار مشابه را برای تعریف این segues. خواهیم کرد به عنوان مثال برای آن را مشاهده کنید، و ما در واقع قبل از انتقال از یک صفحه نمایش خود را به دیگری در iOS به اندازه کافی خوب است به این روش به نام prepareForSegue، و این جایی است که ما می توانیم شروع به ارسال داده ها از یک برنامه به دیگری. در این مثال ما قصد داریم به آن نگاه اساسا به ما اجازه می دهد برای فیلتر کردن تیم بیس بال لیگ ها و تقسیمات است. هنگامی که من یک لیگ را انتخاب کنید، به عنوان مثال، من می خواهم به انتقال به صفحه بعدی من جایی که من می توانید تمام بخش های نمایش در آن لیگ و یا تیم های مختلف. من نیاز به ارسال به که روی صفحه نمایش که تیم شما باید نمایش داده است. برای انجام این کار است که من قصد دارم را به استفاده از این روش در اینجا. در نهایت، فقط به طور تصادفی نقطه در IOS. اگر شما می خواهید برای ذخیره داده ها این چیزی که به نام داده های هسته ای وجود دارد، است که در واقع از نوع پیچیده برای کار با. شما همچنین می توانید SQL برای ذخیره داده ها استفاده کنید، که، باز هم، خوب است، اما نوع در سمت پیچیده تر به کار با، اما در iOS نیز پشتیبانی از این چیزها واقعا سرد به نام لیست اموال، و یک لیست اموال است فقط یک فایل که نشان دهنده جفت ارزش کلیدی است. یک لیست از کلید تعریف کنید، و به شما می گویند این کلید برای رفتن به یک آرایه. این کلید را به عنوان یک رشته، و اساسا هر چیزی که شما می توانید انجام دهید در JSON شما می توانید انجام دهید از لیست اموال داخل، و بنابراین این واقعا سادگی اجازه می دهد تا ما را به برخی از داده ها کار می کنند. به عنوان مثال، من این Teams.plist که من ایجاد. من ایجاد یک فایل جدید plist، و من می توانم تمرین کردن. این است که یک فرهنگ لغت، فرهنگ لغت، این رشته ها، و بنابراین این یک نمایش گرافیکی خوبی از یک سند JSON است یا فقط مجموعه ای از جفت ارزش کلیدی، و بنابراین این داده ها این است که من کار با داخل برنامه من است. برای اولین بار در اینجا. در حال حاضر فایل های بسیار بیشتری در حال حاضر. اما اجازه دهید برای اولین بار در اینجا به داستانپردازی است. داستانپردازی در اینجا اگر من می توانید با زوم کردن ما در حال حاضر می توانید که این جریان برنامه من را ببینید. من اول قرار را بر روی این صفحه شروع. من قصد دارم برای تمرین کردن به این صفحه نمایش، و من قصد دارم برای تمرین کردن به این صفحه، و ما در اینجا می توانید ببینید که اگر من نوع حرکت یکی از این اطراف ما را به این فلش را از اینجا رفتن به اینجا، و راه که فلش را تعریف من بود اگر من در کمی زوم، و اگر من به به کنترل این دیدگاه، و در اینجا یک سلول است، و من می خواهم بگویم که وقتی که یک سلول شیر من می خواهم شما را به اسلاید خود را به دیگری روی صفحه نمایش است. من به سادگی می تواند به پایین نگه دارید کنترل، حرکت بیش از یک کمی، پایین نگه داشتن کنترل، این سلول را بکشید و اجازه دهید به. و در اینجا ما می گویند آن انتقال است که شما مایل به استفاده از چه؟ آیا شما می خواهید به استفاده از چیزی که کشویی است که به نام فشار؟ آیا می خواهید به اسلاید کردن از پایین؟ که به نام معین است. و یک بار یکی از این من کلیک کنید، آن را به منظور جلب این فلش برای من، و این بدان معناست که من در واقع به کار گرفته شده چه اتفاقی می افتد زمانی که من با فشار این دکمه گرافیکی. من هیچ کد در واقع از یک صفحه نمایش خود را به یکی از اسلاید نوشتن نیست. من تعریف این بصری سازنده رابط در داخل. اگر من در این فلش کلیک کنید، ما می توانید ببینید که من به این چیزی که یک نام است. من نام آن را showDivisions است، و این به طوری که من می توانم می دانم انتقال به رخ می دهند، و خواهیم دید که چرا فقط در یک ثانیه است. که چگونه من سیمی تا صفحه نمایش های مختلف در برنامه من است. اگر این فشار دهید، به عنوان مثال، به جای مشاهده جدول بودند، من می توانم بر روی دکمه کلیک کنید، کنترل را بکشید را به صفحه بعد، و این که چگونه من می توانم ناوبری که در راه انجام دهد. واقعا به سرعت، اگر ما به MasterViewController آمده، باز، ما را به سادگی با رفتن به تعریف یک لیست از چیزهایی خواهد شد که در نمایش جدول نمایش داده می شود. در اینجا من گفت: من می خواهم شما را به آن فایل plist، و من می خواهم شما را به آن بار را به یک فرهنگ لغت، و هنگامی که شما باید این فرهنگ لغت، من قصد دارم برای پاسخ به این پرسش دوباره. در اینجا تعدادی از بخش. یک، یک ردیف برای هر لیگ و متن از هر سلول وجود دارد باید یکی از اولین، اولین لیگ، لیگ دوم، و به همین ترتیب. در نهایت، من قصد دارم برای استفاده از این روش است که ما فقط prepareForSegue به نام دیدم، و این روش که به اخراج می شود وقتی که من کلیک کنید یکی از کسانی که ردیف و در نتیجه فعال که انتقال که من با فلش. این می گوید که من می توانم چندین روابط از یک صفحه نمایش خود را به دیگری. اگر من 2 دکمه و هر دکمه شما را به یک صفحه نمایش های مختلف من قصد دارم به 2 segues، (1) برای هر فشار دهید. اما این prepareForSegue است، دوباره، رفتن به مورد استفاده مجدد قرار برای هر کدام از روابط مختلف، به طوری که بدان معنی است که من نیاز به یک راه از شناسایی اگر دکمه را فشار می دهید و یا دکمه دوم را فشار دهید. به یاد داشته باشید زمانی که خودم رو دادم به اش Segue نام، این showDivisions این که چگونه من در حال حاضر می دانیم که این اش Segue که فعال شد. من می خواهم به انجام این کار این است که من می خواهم بگویم من می خواهم برای کشف کردن آنچه که من فقط، و به طوری که برای دریافت، من می توانم بگویم من می خواهم indexPath برای ردیف انتخاب شده، به یاد داشته باشید indexPath فقط می گوید که در آن من فقط کلیک، و پس از آن من می خواهم بگویم من می خواهم به شکل جایی که من قصد دارم. این destinationViewController، که اموال اش Segue. که روی صفحه نمایش من قصد دارم، بنابراین من می دانم که روی صفحه نمایش من قصد دارم به نام DivisionsViewController چون من ایجاد می شود که کلاس، و بنابراین در حال حاضر اگر من می گویم d.divisions من در حال حاضر در راه اموال کنترل کننده دیدگاه من در مورد رفتن به. این است که چگونه من ارسال اطلاعات از یک صفحه به صفحه دیگر. فقط به دنبال در این DivisionsViewController شما در اینجا می توانید ببینید که در فایل ساعت این است که اختلافات مالکیت وجود دارد، و این چیزی است که من اساسا جمعیت، به طوری که چگونه من می دانم که من نمایش بخش های مربوط به لیگ که من کلیک، و دوباره، مشاهده جدول واقعی به نظر می رسد تا حد زیادی یکسان است، فقط پاسخ آن 3 ساده سوالات و همچنین شناسایی چه اتفاقی می افتد زمانی که شما به صفحه بعدی حرکت می کند. فقط یک زن و شوهر از چیزهای دیگر در اینجا. شما در بالا متوجه است که در اینجا به جای گفتن # شامل من در حال حاضر گفت: واردات. این فقط یک چیز هدف-C است. واردات اساسا نسخه بهتر عبارتند از، و به عنوان مثال، ما نیاز به دانستن آنچه در این کلاس است. بنابراین من فقط نمی توان گفت DivisionsViewController. اگر ما داخل standardio.c فایل C hashtag کامپایلر تا به حال هیچ ایده چه چیزی printf بود. به طور مشابه، اگر من DivisionsViewController وارد کند کامپایلر واقعا هیچ ایده چه DivisionsViewController است. فقط اطمینان حاصل کنید که در داخل متفاوت است. فایل های خود را متر شما مطمئن شوید که به واردات فایل های مربوطه. ساعت به طوری که کامپایلر نمی داند چه خبر است. در نهایت، آنچه اپل در نهایت انجام می دهد، نشان دادن برخی از داده ها با استفاده از مشاهده وب سایت و به همین ترتیب مشاهده وب سایت هدف که در آن شما می توانید جاسازی شده است مرورگر وب کم در درون برنامه شما. همه شما باید انجام دهید این است که URL به مرورگر وب خود را عرضه، بنابراین من می خواهم برای رفتن به mlb.mlb.com، و این است که چگونه من می توانم از صفحه اصلی برای دسترسی به هر یک از تیم، و به همین ترتیب با عبور در این URL مشاهده وب سایت می تواند این کار را برای من نمایش داده شود، و من در اطراف می توانید فهرست، و شبیه ساز است در استفاده که یکی. در حال حاضر این آمد از plist من. اگر این من کلیک کنید این هم از plist من آمد، و این کشویی به کار گرفته شد با تعریف کسانی که segues. از این روی من و یکی دیگر، و در حال حاضر در اینجا UIWebView من است، پس فقط می خواهم که در اینجا این وب سایت برای URL که من فقط جاسازی شده، و من مجبور نیستم که هر چیزی دیوانه که مسئولیت رسیدگی به. این است که چگونه می توان به نشان دادن یک صفحه وب است. چیزهایی مثل این دکمه «بازگشت» در اینجا نیز به من داده کاملا به صورت رایگان به این دلیل من تعریف این روابط با استفاده از segues. هر گونه سؤال؟ آره. [دانشجو] بنابراین هنگام استفاده از alloc، شما را به هر چیزی رایگان را هرگز؟ دقیقا، زمانی که با شما تماس alloc و init شما را نداشته باشند به این برنامه رایگان است. IOS است که مسئولیت رسیدگی به همه که برای شما. این شگفت انگیز است، و شما هیچ قوانین شکستن نیست. آره. [دانشجو] اگر شما به تیم است که می تواند بر روی صفحه نمایش جا داد، آن را به طور خودکار گزینه اسکرول، و یا این است که چیزی است که شما نیاز به اضافه کردن؟ دقیقا، اگر من تا به حال تیم های بیشتر، به عنوان مثال، آن را به طور خودکار خواهد بود که مسئولیت رسیدگی به اسکرول برای من، و تمام نگرانی های عملکرد با جدول بزرگ نیز کاملا برای من به کار گرفته شده است. سوال دیگر؟ همه این کد رفتن به ارسال شده است. ما به نوعی بیش از یک کمی از جزئیات جزئی تر یشمی، اما چیزهایی مثل تعیین برخی از خواص به مشاهده وب سایت فقط چیزهایی که شما می توانید در حال مشاهده مستندات اپل، است که واقعا، واقعا سادگی گذاشته شده است. آنها بسیاری از برنامه های نمونه و مثال استفاده از API های مختلف، پس قطعا مطالعه کردن اگر شما می توانید. فقط برخی از پیوند های مفید شما ممکن است بخواهید نگاهی به. اینها برخی از راهنماهای مستندات مفید است. URL های عظیم، به طوری که آنها در حال کوتاه. این یکی از اولین کتابخانه کامل از اسناد است. میله جستجو کمی وجود دارد، بنابراین اگر شما شروع را فشار دهید تایپ آن شروع خواهد شد به شما تمام اطلاعات در مورد همه چیز شما می توانید با یک دکمه انجام دهید. من همچنین شامل راهنمای برنامه نویسی جدول مشاهده. این دسته ها نمایش ها در جدول با جزئیات بسیار بیشتر. چگونه به انجام کارهای شبیه به صورت پویا اضافه کردن سلول سلول و یا ویرایش و یا حذف آنها. تعداد زیادی از برنامه های نمونه از اپل وجود دارد که شما را چگونه به انجام این کار نشان می دهد، و در نهایت، این یکی از آخرین دستورالعمل های رابط انسان است، و این است که اساسا بحث برخی از اجزای UI، چیزهایی مثل یک دکمه که 4 پیکسل با اندازه 4 پیکسل را ندارد. این یک ایده بد است، و خیلی چیزهای دیگر که اپل می خواهد شما را به انجام برای تشویق به طراحی خوب است. هر تاریخ و زمان آخرین سوالات قبل از ما به پایان برساند؟ همه حق است، قطعا به we're رفتن به برچسب های ویژه در مورد احساس راحتی کنید. خواهیم در iOS یکی است، بنابراین قطعا برای استفاده که احساس راحتی کنید. اگر می خواهید با همکلاسی های خود را به کار بر روی پروژه یا کمک به کشف کردن برخی از مسائل تصادفی در iOS احساس رایگان به من ایمیل، و قطعا همه آنلاین کد زیرا را مطالعه کردن تنها در زمان به نفع ما در نوع بیش از بیشتر یشمی جزئیات دقیقتر دانه چیزها می شود. اما اگر نه، پس موفق باشید بر روی پروژه های خود را در iOS، و من امیدوارم که ما هجوم بزرگی از برنامه در فروشگاه App. [CS50.TV]