1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [সেমিনার] [iOS: একটি বস লেগেছে এপস লিখন] 2 00:00:02,000 --> 00:00:04,000 [টমি MacWilliam] [হার্ভার্ড বিশ্ববিদ্যালয়] 3 00:00:04,000 --> 00:00:08,000 [এটি CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:12,000 >> সমস্ত অধিকার, প্রত্যেককে, স্বাগত iOS: একটি ভালো বস এপস লিখন. 5 00:00:12,000 --> 00:00:16,000 এই সেমিনার আইফোনের জন্য অ্যাপ্লিকেশন লেখায় মন যাচ্ছে 6 00:00:16,000 --> 00:00:19,000 এবং ঘুরে রহমান অ্যাপ্লিকেশান জন্য লেখা, এবং তাই আমরা মূলত ভিতর দিয়ে হেটে যেতে করছি যাচ্ছে 7 00:00:19,000 --> 00:00:23,000 একটি দম্পতি কিভাবে একটি অ্যাপ্লিকেশন করতে বিভিন্ন উদাহরণ, একটি Tic Tac Toe মত সহজ খেলা, 8 00:00:23,000 --> 00:00:26,000 অথবা যদি আপনি নিউজ রিডার কিছু ভালো একটি অ্যাপ্লিকেশন তৈরীর আরো আগ্রহী 9 00:00:26,000 --> 00:00:30,000 অথবা কিছু ইন্টারনেট হিসাবে আমি যে ভাল সম্পর্কে কথা বলতে হবে সাথে মিথস্ক্রিয়া. 10 00:00:30,000 --> 00:00:32,000 এখানে আমাদের সংক্ষিপ্ত অ্যাজেন্ডা. 11 00:00:32,000 --> 00:00:36,000 >> IOS অ্যাপ্লিকেশনগুলি একটি ভাষা বলা লক্ষ্য-C-তে লেখা হয়, 12 00:00:36,000 --> 00:00:39,000 এবং তাই এই সামান্য বিট অনুরূপ সি যাও কিন্তু সত্যিই এ সব, 13 00:00:39,000 --> 00:00:41,000 তাই আমরা নিজেই ভাষা সম্পর্কে একটি সামান্য বিট হবে উচ্চারণকারী 14 00:00:41,000 --> 00:00:45,000 এবং তারপর কিভাবে এই আইফোন অ্যাপ্লিকেশন প্রোগ্রাম নামক XCode ব্যবহার অ্যাপস নির্মাণ, 15 00:00:45,000 --> 00:00:48,000 যা এখনো যদি আপনি ডাউনলোড এটি নি বোধ যাও এখন ডাউনলোড করা শুরু করুন. 16 00:00:48,000 --> 00:00:50,000 এটা কয়েক গিগাবাইট. 17 00:00:50,000 --> 00:00:54,000 এটা অ্যাপ স্টোর বিনামূল্যে হতে পারে, তাই আপনার একটি ম্যাক আছে প্রয়োজন হবে উচিত 18 00:00:54,000 --> 00:00:57,000 আদর্শভাবে অপারেটিং সিস্টেম X-র সর্বশেষ উপলব্ধ সংস্করণ 19 00:00:57,000 --> 00:00:59,000 যদি না থাকেন, কোন সমস্যা নেই. 20 00:00:59,000 --> 00:01:02,000 আমরা আপনার ব্যবহারের জন্য বিজ্ঞান কেন্দ্র Macs-উপলব্ধ আছে 21 00:01:02,000 --> 00:01:05,000 সঙ্গে XCode ইনস্টল করা, এবং তা উন্নয়নের জন্য যারা ব্যবহার করতে দ্বিধা বোধ করবেন না. 22 00:01:05,000 --> 00:01:07,000 আপনি যদি একটি অ্যাপ্লিকেশন করতে চান কিন্তু একটি ম্যাক আছে না, চিন্তা করবেন না. 23 00:01:07,000 --> 00:01:09,000 যে জন্য ক্যাম্পাস সম্পদ প্রচুর আছে. 24 00:01:09,000 --> 00:01:15,000 এবং তারপর আমরা বিভিন্ন 2 অ্যাপ্লিকেশনকে করতে পারেন তার বড় উদাহরণ আবরণ চলুন. 25 00:01:15,000 --> 00:01:19,000 Objective-C টেকনিক্যালি কি একটি সি এর সুপার সেট এর নামে 26 00:01:19,000 --> 00:01:24,000 তার মানে যে কোনো সি কোড এছাড়াও বৈধ Objective-C কোড. 27 00:01:24,000 --> 00:01:29,000 তার মানে যে আমরা নালী ধরনের কিছু সি অতিরিক্ত বৈশিষ্ট্যের উপর সঙ্গে টেপ 28 00:01:29,000 --> 00:01:33,000 এই বৈশিষ্ট্যগুলির কয়েকটি কখনও আবার malloc লিখুন থাকার মধ্যে আছে না, শ্বরপ্রসাদ, 29 00:01:33,000 --> 00:01:36,000 কোনো যারা মূঢ় পয়েন্টার চিন্তা হচ্ছে এবং তাদের freeing এবং যে সমস্ত উপাদান 30 00:01:36,000 --> 00:01:40,000 আপনি সি সম্পর্কে ঘৃণা, এবং তা ধরনের Objective-C এর মধ্যে চলে গেছে. 31 00:01:40,000 --> 00:01:43,000 >> এখন, এছাড়াও Objective-C একটি অনেক বড় মান লাইব্রেরি আছে, 32 00:01:43,000 --> 00:01:47,000 তাই অনেক অধিক কার্যকারিতার আপনি Objective-C-এর ভিতর জন্য বিনামূল্যে পাওয়া যায়. 33 00:01:47,000 --> 00:01:50,000 যখন আমরা পিএইচপি লেখা হয়েছিল মনে রাখবেন আমরা লক্ষ্য করেছি যে, আমরা গিয়েছিলাম থেকে 34 00:01:50,000 --> 00:01:54,000 এই সব ছবি আছে যা আপনি করতে পারেন দৈত্য গ্রন্থাগারের যাও ক্ষুদ্রতম ভাষা. 35 00:01:54,000 --> 00:01:56,000 একই জিনিস iOS হতে থাকে. 36 00:01:56,000 --> 00:01:59,000 বৌদ্ধ ক্যালেন্ডার জিনিস যেমন বস্তু আছে, এবং সত্যিই কিছু 37 00:01:59,000 --> 00:02:05,000 আপনি সম্ভবত সম্ভবত Objective-C এর বাস্তবায়ন ইতিমধ্যেই বিদ্যমান মনে করতে পারেন. 38 00:02:05,000 --> 00:02:08,000 Objective-C-এর উদ্দেশ্য কিছু অংশ উল্লেখ করা হয় 39 00:02:08,000 --> 00:02:11,000 বলা হয় অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং. 40 00:02:11,000 --> 00:02:14,000 এটি একটি নতুন ধারণা ধরনের, কিন্তু আমরা আসলে বেশিরভাগ করেছি শেখা 41 00:02:14,000 --> 00:02:17,000 এই ধারণার একটি ইতিমধ্যে অনেক. 42 00:02:17,000 --> 00:02:19,000 অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর পিছনে ধারণা হয় যে আপনি গঠন চলুন 43 00:02:19,000 --> 00:02:23,000 আপনার কোড একটি এইসব জিনিস চারপাশে অনেক ক্লাস বলা হয়, 44 00:02:23,000 --> 00:02:26,000 এবং সত্যিই এই ক্লাস structs glorified হয়. 45 00:02:26,000 --> 00:02:30,000 আমরা এখানে মূলত বলেন, একটি struct ভিতরে একটি জিনিস, 46 00:02:30,000 --> 00:02:32,000 এবং এই জিনিস সদস্যদের থাকতে পারে. 47 00:02:32,000 --> 00:02:35,000 উদাহরণস্বরূপ, একটি লিঙ্ক তালিকায় একটি নোড অন্যান্য বিষয় হতে পারে 48 00:02:35,000 --> 00:02:38,000 ভালো একটি মান, তালিকায় পরবর্তী নোডের একটি পয়েন্টার, 49 00:02:38,000 --> 00:02:44,000 এবং একসাথে যে পয়েন্টার এবং যে এই মান একটি struct এক ইনস্ট্যান্স ক্ষান্ত. 50 00:02:44,000 --> 00:02:47,000 ক্লাস খুব অনুরূপ ছাড়া 51 00:02:47,000 --> 00:02:50,000 ক্লাস এছাড়াও তাদের ভিতর ফাংশন থাকতে পারে. 52 00:02:50,000 --> 00:02:54,000 যখন আমরা একটি struct ঘোষণা, আমরা শুধুমাত্র int-n বা নোড * পরবর্তী বলতে পারে. 53 00:02:54,000 --> 00:02:57,000 >> এখন Objective-C সঙ্গে আমরা আসলে ফাংশন লাগাতে পারেন 54 00:02:57,000 --> 00:02:59,000 ভিতর সেগুলো. 55 00:02:59,000 --> 00:03:03,000 আরেকটি জিনিস যে ক্লাস করতে পারেন হয় তারা অন্যান্য ক্লাস থেকে তথ্য উত্তরাধিকারী করতে পারেন. 56 00:03:03,000 --> 00:03:07,000 উদাহরণস্বরূপ, আমরা অন্তর্নির্মিত Objective-C শ্রেণীর একটি গুচ্ছ এ যাবেন খুঁজছি. 57 00:03:07,000 --> 00:03:11,000 তাদের মধ্যে একজন বর্গ যে একটি পর্দা জন্য দেখুন উপস্থাপন হতে পারে, 58 00:03:11,000 --> 00:03:14,000 বলে তাই আমি এবং আমার নিজের দেখুন বাস্তবায়ন করতে চান 59 00:03:14,000 --> 00:03:18,000 আমরা মূলত এ আপেল উপর কেউ, সম্ভবত সত্যিই চমৎকার মানুষ বলে, 60 00:03:18,000 --> 00:03:21,000 আমার জন্য এই বর্গ লিখেছে, এবং এটি বাটন প্রদর্শন করা ভালো জিনিস হ্যান্ডলগুলি 61 00:03:21,000 --> 00:03:25,000 পর্দা বা রেন্ডারিং, এবং আমরা সত্যিই বেদনাগ্রস্ত হবে 62 00:03:25,000 --> 00:03:28,000 যাও যে সমস্ত কার্যকারিতা নিজেদেরকে বাস্তবায়ন, এবং তাই দ্বারা সহজভাবে 63 00:03:28,000 --> 00:03:31,000 তথ্য inheriting আমরা যা যে বর্গ করেছিল বলতে পারেন 64 00:03:31,000 --> 00:03:34,000 আমি আমার ভিতর বর্গ করতে চান, এবং তারপর আমি কিছু অন্যান্য উপাদান না চলেছি, 65 00:03:34,000 --> 00:03:37,000 যেমন একটি অ্যাপ্লিকেশন বাস্তবায়ন. 66 00:03:37,000 --> 00:03:40,000 যে এর মানে কি যে শব্দ উত্তরাধিকার. আমরা আরো একটি কংক্রিট উদাহরণ দেখতে পাবেন. 67 00:03:40,000 --> 00:03:42,000 >> এবং পরিশেষে, অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর সঙ্গে কি হল 68 00:03:42,000 --> 00:03:45,000 এটি তথ্য encapsulation বাড়ে. 69 00:03:45,000 --> 00:03:48,000 ইন আমাদের সমস্যার কিছু সেট করে আমরা এই বড়, গ্লোবাল ভেরিয়েবল আছে পারে 70 00:03:48,000 --> 00:03:51,000 এবং সর্বত্র globals, এবং যে কিভাবে আমরা রাষ্ট্র ট্র্যাক রাখতে চাই. 71 00:03:51,000 --> 00:03:55,000 ক্লাস সঙ্গে আমরা একটি বস্তুর ভিতর তথ্য encapsulating শুরু করতে পারেন. 72 00:03:55,000 --> 00:03:58,000 যদি আমরা আমাদের অ্যাপ্লিকেশন এক পর্দা থাকে, তাহলে আমরা থেকে কোনো তথ্য আছে প্রয়োজন সত্যিই না 73 00:03:58,000 --> 00:04:01,000 আমাদের যে অ্যাপ্লিকেশন ভিতরে অন্য পর্দা, 74 00:04:01,000 --> 00:04:04,000 ক্লাস মধ্যে জিনিষ encapsulating দ্বারা এবং এই আসলে বাড়ে 75 00:04:04,000 --> 00:04:08,000 অনেক ভালো কোড নকশা, এবং এই অতিরিক্ত বৈশিষ্ট্য কিছু করা সম্ভব 76 00:04:08,000 --> 00:04:11,000 উদ্দেশ্য-C-তে. 77 00:04:11,000 --> 00:04:15,000 Forewarning, Objective-C জন্য সিন্টেক্স হল কলা. 78 00:04:15,000 --> 00:04:19,000 এটা কিছুই আমরা আগে দেখা করেছি ভালো হয়, 79 00:04:19,000 --> 00:04:22,000 তাই একটি একটি শেখার ব্ক্ররেখায় ব্যবহৃত হচ্ছে সামান্য বিট 80 00:04:22,000 --> 00:04:24,000 নরক কি এই মানে? 81 00:04:24,000 --> 00:04:27,000 কিন্তু একবার আপনি পেতে অতীতের যে প্রাথমিক শিক্ষা বক্ররেখা এটা আসলে সত্যিই, মসৃণ 82 00:04:27,000 --> 00:04:29,000 যাও অ্যাপ্লিকেশান লেখা শুরু. 83 00:04:29,000 --> 00:04:33,000 >> একটি বর্গ, ডিক্লেয়ার এখানে বলতে হয় আমার বর্গ, এটি বিদ্যমান, 84 00:04:33,000 --> 00:04:35,000 এবং এখানে হয়তো কিছু জিনিস আছে যা আমি পরে সংজ্ঞায়িত চলেছি, 85 00:04:35,000 --> 00:04:38,000 আমি @ ইন্টারফেস বলতে যাচ্ছি. 86 00:04:38,000 --> 00:04:41,000 আমি @ ইন্টারফেস বলতে যাচ্ছি. আমি একটা নাম দিন আমার বর্গ যাচ্ছি. 87 00:04:41,000 --> 00:04:43,000 এবং তারপর পরে অন্য কোথাও আমি @ শেষ বলতে যাচ্ছি, 88 00:04:43,000 --> 00:04:46,000 মধ্যে @ @ ইন্টারফেস এবং শেষ এবং সবকিছু 89 00:04:46,000 --> 00:04:48,000 আমার ক্লাস হবে. 90 00:04:48,000 --> 00:04:51,000 যে কি আমাদের. জ ফাইল এর ভিতর হতে যাচ্ছে. 91 00:04:51,000 --> 00:04:55,000 ঠিক যেমন সি আমাদের. জ ফাইল মূলত এখানে কিছু বলেন যে বিদ্যমান হবে. 92 00:04:55,000 --> 00:04:57,000 আমি আপনাকে করছি অগত্যা বলছে না কি তারা এখনো না, 93 00:04:57,000 --> 00:04:59,000 কিন্তু কম্পাইলার যে সেগুলি জানা প্রয়োজন. 94 00:04:59,000 --> 00:05:04,000 পরে ভিতর আমাদের. মি ফাইল কারণ Objective-C জন্য মি 95 00:05:04,000 --> 00:05:08,000 হয় যেখানে আসলে আমরা কি এই ক্লাস না সংজ্ঞায়িত করছি যাচ্ছে. 96 00:05:08,000 --> 00:05:11,000 অনেক আমাদের. গ ফাইল এর মতই, আমরা ফাংশন জন্য একটি বাস্তবায়ন দেওয়া. 97 00:05:11,000 --> 00:05:15,000 আমাদের ভিতর. মি ফাইলের আমরা এখানে বলতে যাচ্ছি সেটি কি র সমস্ত কর্ম ব্যবহার 98 00:05:15,000 --> 00:05:18,000 আমার বর্গ-কি সব তারা ভেতরে. 99 00:05:18,000 --> 00:05:22,000 এবং পরিশেষে একটি struct ভেতরে, আমরা যারা ভিতরে কোঁকড়া ধনুর্বন্ধনী সারাংশ বলতে পারে 100 00:05:22,000 --> 00:05:25,000 int-n বা নোড * পরের, 101 00:05:25,000 --> 00:05:28,000 এবং Objective-C, আমরা যাও @ সম্পত্তি ব্যবহার কীওয়ার্ড চলুন, 102 00:05:28,000 --> 00:05:31,000 এবং এই কি বৈশিষ্ট্যগুলি সংজ্ঞায়িত করবে, 103 00:05:31,000 --> 00:05:36,000 অথবা অ ফাংশন যে আমার ক্লাস একটি অংশ. 104 00:05:36,000 --> 00:05:40,000 >> Objective-C ইন ফাংশান কল করা হয় কলা. 105 00:05:40,000 --> 00:05:43,000 যখন আমরা সি ইন ফাংশান উপস্থিত করা ঘোষিত আমরা int-foo এর মত কিছু বলেন 106 00:05:43,000 --> 00:05:46,000 এবং খোলা paren তারপর দিয়েছেন এবং আর্গুমেন্ট একটি তালিকা এটি. 107 00:05:46,000 --> 00:05:51,000 এটা কি এ Objective-C ভালো পদ্ধতি বা ফাংশন প্রকাশক দেখায়. 108 00:05:51,000 --> 00:05:54,000 যদি আমি একটি কার্যকারিতা অথবা একটি পদ্ধতি ডিক্লেয়ার করতে চান 109 00:05:54,000 --> 00:05:58,000 যেখানে আমি পদ্ধতি বলছে করছি সত্যিই শুধু একটি ফাংশন এর একটি বর্গ একজন সদস্য, 110 00:05:58,000 --> 00:06:01,000 তাই বিনিমেয় ধরনের, কিন্তু বাস্তবে নেই, 111 00:06:01,000 --> 00:06:03,000 যাতে ভিতর আমার পদ্ধতি আমি একটি নতুন পদ্ধতি তৈরি করতে চান. 112 00:06:03,000 --> 00:06:06,000 কিছুই ফিরে যাচ্ছে, তাই এর টাইপ অকার্যকর করা হচ্ছে. 113 00:06:06,000 --> 00:06:08,000 এটা আমার ফাংশন রিটার্ন টাইপ. 114 00:06:08,000 --> 00:06:11,000 এখন আমরা parens এখানে আছে কারণ, আমি জানি না. 115 00:06:11,000 --> 00:06:14,000 পরবর্তী আমার ফাংশনের নাম হবে, 116 00:06:14,000 --> 00:06:17,000 এবং পরিশেষে তারপর আমরা মাত্র আমরা সি ছিল ভালো একটা সেমিকোলন আছে 117 00:06:17,000 --> 00:06:19,000 কি এখানে নতুন এটি এখানে লোক. 118 00:06:19,000 --> 00:06:22,000 এই হাইফেন হয় আসলে প্রয়োজন, এবং কি এই বলে যে 119 00:06:22,000 --> 00:06:26,000 এখানে এই পদ্ধতি একটি বর্গ একটি দৃষ্টান্ত হবে বলা. 120 00:06:26,000 --> 00:06:29,000 >> পরে আমরা আমাদের structs ঘোষিত সম্ভবত আমরা কিছু বলেছি ভালো 121 00:06:29,000 --> 00:06:32,000 struct নোড হবে, এবং যে আসলে তৈরি 122 00:06:32,000 --> 00:06:35,000 অথবা যারা structs এক instantiated যাতে আমি আসলে কাজ শুরু হতে পারে 123 00:06:35,000 --> 00:06:38,000 এটা কি ভেতরে এর সঙ্গে, তাই এই ড্যাশ মানে যে আমরা আছে 124 00:06:38,000 --> 00:06:41,000 বর্গ শুধু আমরা না instantiated instantiate যে struct 125 00:06:41,000 --> 00:06:43,000 আগে আমরা এই পদ্ধতি কল করতে পারেন. 126 00:06:43,000 --> 00:06:46,000 যদি আমি আমার পদ্ধতি আর্গুমেন্ট যোগ শুরু করতে চান 127 00:06:46,000 --> 00:06:48,000 এটি আরও কলা পায়. 128 00:06:48,000 --> 00:06:50,000 এখানে আমার পদ্ধতির নাম. 129 00:06:50,000 --> 00:06:53,000 তারপর আমি একটা কোলন আছে যাচ্ছে, এবং করছি তা এই মলাশয় পরে এখানে বলে কিছু আর্গুমেন্ট আসে. 130 00:06:53,000 --> 00:06:56,000 এই পদ্ধতি একটি যুক্তি লাগে. 131 00:06:56,000 --> 00:06:59,000 যুক্তি প্রকার হল কোন int, এবং যে যুক্তি নাম 132 00:06:59,000 --> 00:07:03,000 পরিবর্তনশীল বা আমি যে পদ্ধতিটির ভিতর ব্যবহার শুরু করতে যাচ্ছি তোমার বলা হয়. 133 00:07:03,000 --> 00:07:05,000 আবার, এই হল পদ্ধতি. একটা যুক্তি প্রদর্শন করা হয়. 134 00:07:05,000 --> 00:07:10,000 >> আপনি যদি আরো আর্গুমেন্ট যোগ করতে চান সেটি এটি আরো কলা পায় 135 00:07:10,000 --> 00:07:13,000 যে, আমরা এই মলাশয় যে এখানে বলছেন আর্গুমেন্ট আমার তালিকা আছে আসে. 136 00:07:13,000 --> 00:07:15,000 এই প্রথম যুক্তি হল একটি পূর্ণসংখ্যা. 137 00:07:15,000 --> 00:07:17,000 এখন, এই দ্বিতীয় যুক্তি হল আকর্ষণীয়. 138 00:07:17,000 --> 00:07:20,000 পরিবর্তনশীল যে আমি আমার ভেতরের ফাংশন ব্যবহার করা যাচ্ছে না 139 00:07:20,000 --> 00:07:23,000 বলা হয় f, তাই আমার ভিতর ফাংশন আমি বলতে পারে 140 00:07:23,000 --> 00:07:25,000 চ + = 1 অথবা কিছু. 141 00:07:25,000 --> 00:07:30,000 এই জিনিস এখানে মূলত যে যুক্তি বা পরামিতির জন্য একটি কি. 142 00:07:30,000 --> 00:07:34,000 শুধু ভালো আমরা কী মান জোড়া ছিল এবং JSON অথবা মিশুক অ্যারে মত 143 00:07:34,000 --> 00:07:37,000 Objective-C, বলে সিদ্ধান্ত ঠিক আছে, ঠিক তাই যে এটা আসলে খুব স্পষ্ট 144 00:07:37,000 --> 00:07:39,000 যখন আপনি একটি পদ্ধতি কি সব এই পরামিতিগুলি কল 145 00:07:39,000 --> 00:07:41,000 আমি আসলে করছি তাদের সমস্ত নাম যাচ্ছে. 146 00:07:41,000 --> 00:07:45,000 আপনি যখন একটি পদ্ধতি কল, আপনি আসলে andFloat বলবো, 147 00:07:45,000 --> 00:07:47,000 এবং তারপর আপনি এটি পাস ইন করব 148 00:07:47,000 --> 00:07:50,000 >> মজার, এই এক, কিন্তু না নামে না অন্যান্য পরামিতি সব হয়, 149 00:07:50,000 --> 00:07:53,000 তাই যদি আমরা একটি 3 য় যুক্তি ছিল আমি andFloat বলতে পারে 150 00:07:53,000 --> 00:07:56,000 এবং অন্য float এবং তাই. 151 00:07:56,000 --> 00:08:01,000 যখন আমি এই পদ্ধতি কল অবশ্যই কলা হয়, 152 00:08:01,000 --> 00:08:04,000 সুতরাং যদি আমি একটি বস্তু আছে, এবং আমি একটি পদ্ধতি বলা foo বিন্যাস নির্ধারিত, 153 00:08:04,000 --> 00:08:09,000 এবং আমি এটি যাও, বদলে foo বিন্যাস কল খোলা / বন্ধ parens বলছে চান 154 00:08:09,000 --> 00:08:11,000 আমি একটি বন্ধনী খোলা যাচ্ছে না. 155 00:08:11,000 --> 00:08:13,000 এখানে আমার পদ্ধতির নাম. 156 00:08:13,000 --> 00:08:17,000 আমি ব্র্যাকেট বন্ধ করতে যাচ্ছে, এবং করছি এই বস্তু আমি এটা করছি কলিং. 157 00:08:17,000 --> 00:08:20,000 মনে রাখবেন, এই পদ্ধতি সব শ্রেণীর মধ্যে উপস্থিত থাকা 158 00:08:20,000 --> 00:08:23,000 কারণ ক্লাস তাদের ভিতর নির্ধারিত পদ্ধতি থাকতে পারে. 159 00:08:23,000 --> 00:08:26,000 >> এখানে ইচ্ছামত আমি কিছু বর্গ একটি অবজেক্ট তৈরি করে, 160 00:08:26,000 --> 00:08:28,000 এবং এই জন্য যে কাজ সিনট্যাক্স. 161 00:08:28,000 --> 00:08:31,000 একটি বস্তুর সৃষ্টি 2 ধাপ আছে. 162 00:08:31,000 --> 00:08:34,000 প্রথম ধাপে আমি স্থান বরাদ্দ করা চান বলতে হয়. 163 00:08:34,000 --> 00:08:37,000 এটি একটি malloc সমতুল্য. আমরা আর malloc বলতে হবে না. 164 00:08:37,000 --> 00:08:42,000 আমরা মি বাদ পড়েছে, এটা alloc করেছি, এবং. সঙ্গে মি. গ প্রতিস্থাপিত. 165 00:08:42,000 --> 00:08:47,000 আমরা alloc কিছু পরে আমরা তখন এটি আরম্ভ করা প্রয়োজন. 166 00:08:47,000 --> 00:08:49,000 মূলত যখন আপনি অবজেক্ট তৈরি করতে আপনার কিছু যুক্তি আছে চাইবেন 167 00:08:49,000 --> 00:08:53,000 যে executes যখন তারা তৈরি করছি, তাই আপনার আর কিছু ডিফল্ট মান মধ্যে পাস করতে পারেন 168 00:08:53,000 --> 00:08:57,000 বা ওই জাতীয় কিছু, তাই এই init পদ্ধতির কি আসলে বস্তুর সৃষ্টি করে. 169 00:08:57,000 --> 00:08:59,000 আমরা প্রথম স্থান, যেমন আমরা সি বরাদ্দ করা হয়নি, 170 00:08:59,000 --> 00:09:04,000 এবং তারপর আমরা এটি আরম্ভ করা যা বা পুরো অনেক পারে না. 171 00:09:04,000 --> 00:09:07,000 তারপর আমরা একটি বস্তুর ণ মধ্যে এই জিনিস ফেরত করছি. 172 00:09:07,000 --> 00:09:09,000 এখানে আছে একটি তারকা কারণ এই টেকনিক্যালি একটি পয়েন্টার, 173 00:09:09,000 --> 00:09:12,000 কিন্তু, না পয়েন্টার যে বড় Objective-C মধ্যে একটি চুক্তি হয় না আর চিন্তা করবেন না. 174 00:09:12,000 --> 00:09:15,000 >> এখন আমরা এই বর্গ নামক NSObject instantiated করেছি, 175 00:09:15,000 --> 00:09:19,000 এবং এটা একটা র্যান্ডম বর্গ যে আপেল আছে. 176 00:09:19,000 --> 00:09:22,000 আমরা এই instantiated করেছি, এবং এখন আমি এই ক্লাসের একটা উদাহরণ আছে 177 00:09:22,000 --> 00:09:25,000 এই বস্তু ণ, তাই তার মানে যদি আমি সংজ্ঞায়িত 178 00:09:25,000 --> 00:09:29,000 এই পদ্ধতি আমি ভালো তাদের কল করতে পারেনি. 179 00:09:29,000 --> 00:09:31,000 একইভাবে, যদি আমি একটি আর্গুমেন্ট সহ একটি পদ্ধতি কল চেয়েছিলেন, 180 00:09:31,000 --> 00:09:34,000 তাই এই বার পদ্ধতি, যে এক যুক্তি লাগে, 181 00:09:34,000 --> 00:09:38,000 এবং এখানে baz: qux পদ্ধতি, তাই এই 2 আর্গুমেন্ট লাগে. 182 00:09:38,000 --> 00:09:44,000 এই এই বস্তু ণ এক ক্রিয়া করে কলিং. 183 00:09:44,000 --> 00:09:46,000 জানার জন্য? 184 00:09:46,000 --> 00:09:50,000 সিনট্যাক্স জানার জন্য, কিন্তু আপনি কোন ধরনের এটি ব্যবহার করতে হবে. 185 00:09:50,000 --> 00:09:54,000 >> ঠিক আছে, আমি কিছু বিষয় আছে যা Objective-C মধ্যে নির্মিত হবে সম্পর্কে কথা বলা 186 00:09:54,000 --> 00:09:56,000 যে অগত্যা ছিল নির্মিত সি মধ্যে না 187 00:09:56,000 --> 00:09:59,000 সি ইন আমরা এইসব মূঢ় অক্ষর অ্যারে হিসাবে স্ট্রিং মোকাবেলা ধরনের ছিল, 188 00:09:59,000 --> 00:10:01,000 এবং এটি পেয়েছেন সত্যিই বিরক্তিকর. 189 00:10:01,000 --> 00:10:04,000 Objective-C যাদের সব আমাদের জন্য নির্মিত হয়েছে, এবং এটি নির্মিত এর 190 00:10:04,000 --> 00:10:06,000 এই বর্গ নামক NSString ব্যবহার করে. 191 00:10:06,000 --> 00:10:10,000 যখন আমি একটা NSString আমরা আরো রহস্যময় আছে সিনট্যাক্স তৈরি করতে চান. 192 00:10:10,000 --> 00:10:15,000 বরং "cs50" আমরা বলতে @ "cs50" বলছে 193 00:10:15,000 --> 00:10:17,000 এবং এটা লক্ষ্য-C-স্ট্রিং ঘোষণা করার জন্য বাক্য গঠন. 194 00:10:17,000 --> 00:10:21,000 এটি অত্যন্ত সহজ, তাই ভুলবেন না. 195 00:10:21,000 --> 00:10:24,000 এখন, আমি একবার এই আছে, এই একটি স্ট্রিং, কিন্তু লক্ষ্য করা 196 00:10:24,000 --> 00:10:26,000 এটি সত্যিই একটা বস্তু. 197 00:10:26,000 --> 00:10:30,000 আমি NSString বলেন, যার অর্থ আমি বর্গ instantiated 198 00:10:30,000 --> 00:10:32,000 বলা NSString, যা অন্য কারোর জন্য সম্পর্কে লিখেছেন, 199 00:10:32,000 --> 00:10:35,000 এবং তারা এটা আমার খুবই ভালো, এবং তাই এখন 200 00:10:35,000 --> 00:10:37,000 আমি পদ্ধতি কলিং শুরু করতে পারেন. 201 00:10:37,000 --> 00:10:40,000 যদি আমি এই বস্তুর উপর গুলি পদ্ধতি দ্বারা কল 202 00:10:40,000 --> 00:10:43,000 এটা আমার স্ট্রিং এর দৈর্ঘ্য ফিরে যাচ্ছে. 203 00:10:43,000 --> 00:10:45,000 শুধু strlen মত এই সি হয় 204 00:10:45,000 --> 00:10:47,000 এই 4 ফিরে আসবে. 205 00:10:47,000 --> 00:10:51,000 >> একইভাবে, আমি অন্য পদ্ধতি সম্পর্কে যত্ন করতে পারেন এই characterAtIndex. 206 00:10:51,000 --> 00:10:54,000 এটি একটি পদ্ধতি এই স্ট্রিং গুলি যে বলছেন 207 00:10:54,000 --> 00:10:57,000 আমি আপনি zeroth চরিত্র পেতে চাই, 208 00:10:57,000 --> 00:10:59,000 এবং তাই এই সম্পর্কে অক্ষর গ যাও ফিরে আসবে, 209 00:10:59,000 --> 00:11:02,000 এবং সামগ্রিকভাবে এই পদ্ধতি এক গুচ্ছ আরো যে আপনি সত্যিই সহজে Google-পারেন. 210 00:11:02,000 --> 00:11:07,000 Apple-এর ডকুমেন্টেশন মহান, এবং আমরা যে সময়ে একটি কিছুক্ষনের মধ্যে বর্ণন নেব. 211 00:11:07,000 --> 00:11:09,000 সেগুলো হল স্ট্রিং. 212 00:11:09,000 --> 00:11:11,000 আমরা পরিবর্তনশীল আকার অ্যারে বিল্ট ইন আছে 213 00:11:11,000 --> 00:11:13,000 সি মনে রাখবেন, যখন আমরা একটি অ্যারের ঘোষণা 214 00:11:13,000 --> 00:11:16,000 আমরা আপনাকে 5 উপাদান, কাহিনী শেষ আছে বলে ছিল. 215 00:11:16,000 --> 00:11:18,000 যখন আমরা জাভাস্ক্রিপ্ট এবং পিএইচপি যাও পেয়েছিলাম আমরা শুরু করতে পারি নি 216 00:11:18,000 --> 00:11:20,000 উপাদান যোগ বা উপাদান সরানোর মত জিনিসগুলি. 217 00:11:20,000 --> 00:11:22,000 আমরা লক্ষ্য-C-তে একই কাজ করতে পারেন. 218 00:11:22,000 --> 00:11:26,000 বরং স্বাভাবিক সি ভাবে একটি অ্যারে নির্মাণ 219 00:11:26,000 --> 00:11:30,000 আমরা আবার অন্য বর্গ নামক NSMutableArray. 220 00:11:30,000 --> 00:11:33,000 এর রয়েছে NSArray, 221 00:11:33,000 --> 00:11:35,000 এবং এই যাও মূলত কিছু অ্যারের encapsulate যাচ্ছে. 222 00:11:35,000 --> 00:11:38,000 এই জিনিস আমি প্রথম বলে যেতে চাই আমি ধার্য করতে চান 223 00:11:38,000 --> 00:11:41,000 একটি নতুন অ্যারের জন্য স্থান, এবং পরে আমি এটা বরাদ্দ 224 00:11:41,000 --> 00:11:43,000 আমি তখন এটি আরম্ভ করা প্রয়োজন. 225 00:11:43,000 --> 00:11:45,000 আবার ঠিক, এই পদ্ধতি 2 কলিং. 226 00:11:45,000 --> 00:11:48,000 এখন এই যে এই বস্তুর ভিতর একটি অর্থ 227 00:11:48,000 --> 00:11:50,000 আমি খালি একটা অ্যারে আছে বসা. 228 00:11:50,000 --> 00:11:54,000 যদি আমি এই অ্যারে কিছু যোগ করতে চান, আমি addObject পদ্ধতি কল করতে পারেন. 229 00:11:54,000 --> 00:11:59,000 আমি একটি অ্যারের একটা অবজেক্ট যোগ করতে চান, এবং আমি স্ট্রিং CS50 যোগ করতে চান. 230 00:11:59,000 --> 00:12:02,000 যদি আমি বিপরীতক্রমে যে আমি বলতে পারে সরাতে চেয়েছিল আমি চাই যাও 231 00:12:02,000 --> 00:12:09,000 শৃঙ্খলার প্রথম স্থানে বস্তু বা সরানোর জন্য একটি বস্তুর. 232 00:12:09,000 --> 00:12:11,000 >> জানার জন্য? 233 00:12:11,000 --> 00:12:14,000 ঠিক আছে, আপনি এই ধরনের গুরুবন্ধনী জিনিস ব্যবহার করতে পারেন. 234 00:12:14,000 --> 00:12:18,000 অ্যাপল এর মধ্যে লাইব্রেরির অনেক ভিতরে যাইহোক, আপনি কি এই ns দেখতে পাবেন. 235 00:12:18,000 --> 00:12:21,000 Ns আসলে পরবর্তী পদক্ষেপ, যা ছিল স্টিভ জবস প্রথম কোম্পানীর এক ঘোরা, 236 00:12:21,000 --> 00:12:24,000 এবং যে যেখানে সত্যিই তিনি শুরু কোড অনেক লেখা 237 00:12:24,000 --> 00:12:27,000 হিসাবে ম্যাক OS X এবং অন্যান্য পণ্যদ্রব্য জন্য সব ধরনের ভিত্তি, 238 00:12:27,000 --> 00:12:32,000 এবং তাই এই ns এই চমৎকার লিগ্যাসি ধরনের আগে কোম্পানীগুলো এক আউট চিত্কার 239 00:12:32,000 --> 00:12:34,000 ফিরে যখন প্রথম শুরু ছিল আপেল আউট. 240 00:12:34,000 --> 00:12:36,000 এটা সর্বত্র এর. 241 00:12:36,000 --> 00:12:41,000 যাক এর আরো একটি হোলিস্টিক Objective-C উদাহরণ কটাক্ষপাত করা. 242 00:12:41,000 --> 00:12:44,000 এখানে আমি XCode ভিতরে am. 243 00:12:44,000 --> 00:12:47,000 এখানে, প্রথম আমি অ্যাপ স্টোর থেকে XCode ডাউনলোড, 244 00:12:47,000 --> 00:12:50,000 এটি খোলা পর্যন্ত, এবং তারপর আমি গিয়েছিলাম ফাইল এখানে আপ, 245 00:12:50,000 --> 00:12:54,000 উপর এখানে নতুন, এবং তারপর প্রকল্প. 246 00:12:54,000 --> 00:12:57,000 পরে আমি যে আমি সব এই বিকল্প কি আছে আমি তৈরি করতে চাই, 247 00:12:57,000 --> 00:12:59,000 এবং যাতে আমরা এই বিকল্প কটাক্ষপাত করে পরে নেব, 248 00:12:59,000 --> 00:13:03,000 কিন্তু শুধু এই উদাহরণস্বরূপ, কারণ আমরা এখনো একটি অ্যাপ্লিকেশন আছে আসলে যাচ্ছে না থাকেন, 249 00:13:03,000 --> 00:13:06,000 আমি এখানে এসে নিচে, আমি এবং বলেন, কমান্ড লাইন থেকে ব্যবহারযোগ্য সরঞ্জাম, 250 00:13:06,000 --> 00:13:09,000 এবং এই একটি অ্যাপ্লিকেশন যা আমি কমান্ড লাইনে চালানো হবে 251 00:13:09,000 --> 00:13:12,000 আমরা ঠিক করেছি চলমান সি থেকে করা হয়েছে 252 00:13:12,000 --> 00:13:16,000 এটা কিভাবে আমি এই প্রকল্প তৈরি, এবং তাই এখন আমি এখানে নিলাম, 253 00:13:16,000 --> 00:13:20,000 তাই এর এই ফাইলটি প্রথমে, এই দিন এবং চমত্কার পরিচিত হওয়া উচিত. 254 00:13:20,000 --> 00:13:24,000 আমি কোন int নাম আছে. আমার বন্ধু argc, আমার অন্যান্য বন্ধু argv আছে. 255 00:13:24,000 --> 00:13:30,000 তাই আমরা যে এই আমার প্রথম Objective-C অ্যাপ্লিকেশনের জন্য এন্ট্রি বিন্দু দেখতে পারেন. 256 00:13:30,000 --> 00:13:32,000 এখানে আমরা এখন জন্য এই উপেক্ষা করতে পারেন. 257 00:13:32,000 --> 00:13:35,000 এই মূলত কিছু মেমরি ব্যবস্থাপনা উপাদান যে আপনি না সত্যিই, 258 00:13:35,000 --> 00:13:37,000 কখনও চিন্তা আছে. 259 00:13:37,000 --> 00:13:39,000 >> যাক এই প্রথম ব্লক এখানে এর চেহারা. 260 00:13:39,000 --> 00:13:46,000 এই প্রথম লাইন, যদি আমি বলতে ছাত্র * alice = [[ছাত্র alloc] init] কি যে করছে? 261 00:13:46,000 --> 00:13:50,000 এই প্রথম এখানে ছাত্র, সম্ভবত এই একটি বর্গ. 262 00:13:50,000 --> 00:13:54,000 এই হল, কিন্তু একটি শ্রেণী যে আপেল লেখেন না যে এটা একটা বর্গ যে আমি লিখেছি. 263 00:13:54,000 --> 00:13:57,000 প্রথম জিনিস আমি করতে হয় আমি একটা নতুন ছাত্রদের জন্য স্থান বরাদ্দ করা চাই, 264 00:13:57,000 --> 00:14:00,000 এবং তারপর আমি এটি আরম্ভ করতে চান, তাই এই সম্পর্কে ফেরত দেয় 265 00:14:00,000 --> 00:14:05,000 এই নতুন ছাত্র বস্তু, এবং আমি একটি পরিবর্তনশীল নামক এলিস এই সংরক্ষণ করছি. 266 00:14:05,000 --> 00:14:07,000 যেখানে যে বর্গ বার থেকে আসে? 267 00:14:07,000 --> 00:14:12,000 উপর এখানে বাম পাশে ভাল, এই হল আমার প্রকল্পের মধ্যে বিভিন্ন ফাইল সব. 268 00:14:12,000 --> 00:14:16,000 আমরা এখানে আমি একটি Student.h এবং একটি Student.m আছে দেখতে পারেন. 269 00:14:16,000 --> 00:14:20,000 . জ ফাইল, মনে হয় যেখানে আমি সব জিনিস ডিক্লেয়ার 270 00:14:20,000 --> 00:14:22,000 যে বর্গ মধ্যে উপস্থিত হবে. 271 00:14:22,000 --> 00:14:25,000 >> চলুন যে কটাক্ষপাত করা. 272 00:14:25,000 --> 00:14:29,000 ঠিক আছে এখানে, আমরা এই @ ইন্টারফেস আছে, এবং এই বলে যে এখানে আসে 273 00:14:29,000 --> 00:14:33,000 সবকিছু যে আমার বর্গ মধ্যে উপস্থিত হবে ঘোষণা. 274 00:14:33,000 --> 00:14:36,000 তারপর আমি একটি কোলন আছে. তারপর আমি এই NSObject জিনিস আছে. 275 00:14:36,000 --> 00:14:40,000 এই মলাশয় যে উত্তরাধিকার বিট আমরা কিছুক্ষন আগে আলোচনা করা হয়েছে উল্লেখ করা হয়. 276 00:14:40,000 --> 00:14:43,000 এই বলে সবকিছু একটি NSObject করতে পারেন 277 00:14:43,000 --> 00:14:46,000 যেখানে NSObject এই বর্গ অন্য কারো দ্বারা লিখিত, 278 00:14:46,000 --> 00:14:50,000 সবকিছু এই NSObject করতে পারেন আমি কি সেটা সক্ষম হতে চান. 279 00:14:50,000 --> 00:14:54,000 বলে: যে NSObject মানে হল যে আমি মূলত 280 00:14:54,000 --> 00:14:58,000 অন্য শ্রেণীর কার্যকারিতা সব উত্তরাধিকারসূত্রে প্রাপ্ত. 281 00:14:58,000 --> 00:15:02,000 যে সত্যিই দিয়েছিলেন একটি পদ্ধতি এবং বিভিন্ন বৈশিষ্ট্য ব্যবহার করতে পারেন যে আমি আভা সম্পর্কে. 282 00:15:02,000 --> 00:15:05,000 নিচে এখানে আমি 2 বৈশিষ্ট্য তৈরি করছি. 283 00:15:05,000 --> 00:15:08,000 যে আমার ছাত্র মানে, যদি এই ছিল একটি struct, এইসব 2 জিনিষ হবে 284 00:15:08,000 --> 00:15:11,000 আমার struct ভেতরে, তাই প্রত্যেক ছাত্র একটি নাম আছে 285 00:15:11,000 --> 00:15:14,000 যে একটি স্ট্রিং, এবং একজন ছাত্র একটি গ্রেড আছে, 286 00:15:14,000 --> 00:15:17,000 যা কোন int. 287 00:15:17,000 --> 00:15:23,000 >> অবশেষে, এখানে নিচে আমি আমার ছাত্র জন্য একটি পদ্ধতি তৈরি করতে হবে. 288 00:15:23,000 --> 00:15:26,000 আমি আমার পদ্ধতি বলা হয়, initWithName, এবং এটি একটি যুক্তি লাগে, 289 00:15:26,000 --> 00:15:31,000 এবং যে যুক্তি একটি স্ট্রিং, এবং আমি নামক এটির নাম দিন. 290 00:15:31,000 --> 00:15:35,000 এখন আসুন আমরা আসলে কিভাবে এই বর্গ বাস্তবায়িত তাকান. 291 00:15:35,000 --> 00:15:38,000 এখানে এখন, আমি আমার. মি ফাইলটি ভিতরে আছি, 292 00:15:38,000 --> 00:15:40,000 বাস্তবায়নের জন্য মি, আমি অনুমান. 293 00:15:40,000 --> 00:15:44,000 আমি আমার বাস্তবায়ন আছে, আমার শেষ, এবং এখানে দেওয়া হল যেখানে আসলে আমি সংজ্ঞায়িত করছি 294 00:15:44,000 --> 00:15:47,000 কি initWithName আছে. 295 00:15:47,000 --> 00:15:50,000 আমি initWithName, আমার পরামিতির নাম, এবং তারপর এই আছে 296 00:15:50,000 --> 00:15:53,000 যেখানে আসলে আমি একজন ছাত্র তৈরি করছি, 297 00:15:53,000 --> 00:15:56,000 এবং তাই এই সামান্য বিট রহস্যপূর্ণ, কিন্তু এই ধরনের boilerplate 298 00:15:56,000 --> 00:15:58,000 আপনি যে আপনার কন্সট্রাকটর অন্তর্ভুক্ত করতে চান. 299 00:15:58,000 --> 00:16:02,000 এই প্রারম্ভিক এখানে ফাংশন, initWithName, হয় রচয়িতা একটি প্রকার. 300 00:16:02,000 --> 00:16:05,000 আপনি মূলত করছি একটি নতুন ছাত্র বস্তুর গঠন 301 00:16:05,000 --> 00:16:07,000 এবং হয়তো তা ভিতর কিছু তথ্য প্রেরণ. 302 00:16:07,000 --> 00:16:11,000 প্রথম জিনিস আমি যেতে চাই আমি এই সুপার জিনিস উপর init কল করতে চান. 303 00:16:11,000 --> 00:16:15,000 >> মনে রাখবেন যখন আমি. জ ফাইল বলেন, এখানে ফিরে 304 00:16:15,000 --> 00:16:21,000 যে সবকিছু একটি NSObject আছে একজন ছাত্র আছে. 305 00:16:21,000 --> 00:16:24,000 তার মানে যখন আমি একজন ছাত্র কি আমি যা করতে হবে তৈরি করা 306 00:16:24,000 --> 00:16:28,000 নিশ্চিত করুন যে NSObject যে আমি থেকে যে সমস্ত তথ্য করছি inheriting 307 00:16:28,000 --> 00:16:32,000 হয় সঠিকভাবে সক্রিয়া. 308 00:16:32,000 --> 00:16:36,000 আমি কি বলার প্রয়োজন হয় এই সুপার প্রকৃতপক্ষে ঊর্ধ্বতন বর্গ পড়ুন যাচ্ছে 309 00:16:36,000 --> 00:16:39,000 যে আমি থেকে inheriting করছি, তাই আমি নিশ্চিত আমি আরম্ভ করতে চাই 310 00:16:39,000 --> 00:16:43,000 যা আমি আগে আমি শুরু এটি নির্ভর করে ব্যবহার করার চেষ্টা করছি. 311 00:16:43,000 --> 00:16:46,000 তারপর সঠিকভাবে যদি সক্রিয়া করা যে এই মাত্র বলছে ভালো হয় যদি malloc 312 00:16:46,000 --> 00:16:50,000 বার নাল ফিরে না তারপর আমি কিছু বৈশিষ্ট্য নির্ধারণের শুরু করতে পারেন. 313 00:16:50,000 --> 00:16:54,000 >> জাভাস্ক্রিপ্ট এবং পিএইচপি আমরা এই অভিব্যক্তি এই বলা যায়, 314 00:16:54,000 --> 00:16:58,000 এবং এই একটি বর্গ বর্তমান উদাহরণস্বরূপ বলা. 315 00:16:58,000 --> 00:17:00,000 Objective-C আমরা এই আত্ম কল. 316 00:17:00,000 --> 00:17:04,000 যখন আমি self.name বলে, যে এর মানে হল যে বস্তু 317 00:17:04,000 --> 00:17:07,000 আমি ঠিক তৈরি যখন আমি ছাত্র alloc init, 318 00:17:07,000 --> 00:17:09,000 যে আমাকে ফেরত দিতে একটি বস্তুর যাচ্ছে. 319 00:17:09,000 --> 00:17:12,000 তার মানে আমি যে বস্তুর নাম সেট করতে চান 320 00:17:12,000 --> 00:17:15,000 যাই হোক না কেন যাও শুধু আমি পাশ ইন 321 00:17:15,000 --> 00:17:18,000 সি মতো, আমরা এই বিন্দু দিয়ে সদস্যদের অ্যাক্সেস, 322 00:17:18,000 --> 00:17:21,000 তাই self.name বলছেন ছাত্র বস্তুর নাম 323 00:17:21,000 --> 00:17:24,000 না এখন ঠিক যাই হোক না কেন আপনি পাশ ইন করা যাচ্ছে 324 00:17:24,000 --> 00:17:28,000 তাই পরিশেষে, আমি এটা ফেরত তাই আসলে আমি কিছু ফিরে পাবেন না. 325 00:17:28,000 --> 00:17:30,000 >> প্রশ্ন? 326 00:17:30,000 --> 00:17:34,000 ঠিক আছে, তাই এই স্ব = সুপার init, 327 00:17:34,000 --> 00:17:37,000 যদি আপনি সম্পূর্ণ উত্তরাধিকার উপাদান জানি না চিন্তা করবেন না. 328 00:17:37,000 --> 00:17:40,000 শুধু জানি যে আপনি যদি কখনও আপনার নিজের init পদ্ধতির করতে চান 329 00:17:40,000 --> 00:17:42,000 যে, না এবং আপনি যেতে পারবেন. 330 00:17:42,000 --> 00:17:44,000 হাঁ. >> [ছাত্র] যদি স্ব গড় আছে? 331 00:17:44,000 --> 00:17:49,000 এর মানে হল যখন আমরা কিছু আমরা সবসময় চেক যদি এটি ছিল সমান নাল যাও malloc, 332 00:17:49,000 --> 00:17:51,000 এবং যদি এটি ছিল নাল তারপর, আমরা প্রস্থান করেছে. 333 00:17:51,000 --> 00:17:55,000 এই একই জিনিস, কারণ যদি এই আয় নাল তারপর, আমরা seg ফল্ট সম্ভবত করছি যাচ্ছে 334 00:17:55,000 --> 00:17:57,000 যদি আমরা শুরু এটি নিপূণভাবে চেষ্টা. 335 00:17:57,000 --> 00:18:01,000 এটা আমাদের ছাত্র বর্গ. 336 00:18:01,000 --> 00:18:03,000 তার মানে আমরা দুটি পদ্ধতির মাধ্যমে আমাদের ছাত্র আরম্ভ করতে পারেন. 337 00:18:03,000 --> 00:18:08,000 যদি আমি বলতে ছাত্র alloc init আমি যে শুধু আমি লিখেছি যে পদ্ধতি ব্যবহার করে না, 338 00:18:08,000 --> 00:18:11,000 এবং পরিবর্তে আমি সহজভাবে alice.name বলতে পারেন, 339 00:18:11,000 --> 00:18:14,000 এবং এখন আমি যে সম্পত্তি নাম সেট যাচ্ছি. 340 00:18:14,000 --> 00:18:17,000 >> একইভাবে, যদি আমি যে initWithName পদ্ধতি ব্যবহার করতে চান 341 00:18:17,000 --> 00:18:20,000 আমি সহজভাবে alloc, বলতে পারেন এবং তারপর বদলে বলছে init 342 00:18:20,000 --> 00:18:24,000 আমি যে পদ্ধতি যে শুধু আমি তৈরি কল যাচ্ছে, এবং করছি আমি বব পাস যাও যাচ্ছি. 343 00:18:24,000 --> 00:18:30,000 এই মুহুর্তে, এই বস্তু বব নামের একটি সমান বব আছে. 344 00:18:30,000 --> 00:18:35,000 ঠিক আছে, এখানে নিচে আমি যে NSMutableArray যে আমরা আগে দিকে তাকিয়ে ব্যবহার করছি. 345 00:18:35,000 --> 00:18:38,000 আমি space.Then করছি বণ্টন আমি একটি নতুন অ্যারে আরম্ভ করছি. 346 00:18:38,000 --> 00:18:40,000 আমি এটা 2 জিনিস যোগ যাচ্ছি. 347 00:18:40,000 --> 00:18:43,000 এই অ্যারে এখন ছাত্র বস্তু ঝুলিতে. 348 00:18:43,000 --> 00:18:46,000 উল্লেখ্য দাঁড়াতেই আমি এই হল ছাত্রদের একটি অ্যারে বলতে থাকেন. 349 00:18:46,000 --> 00:18:48,000 আমি আগেই বলেছি এটা একটা অ্যারে, সময়ের. 350 00:18:48,000 --> 00:18:50,000 তারপর আমি তা যাই হোক না কেন ভিতরে যে আমি চাই লাগাতে পারেন. 351 00:18:50,000 --> 00:18:52,000 এখানে আমি 2 বস্তু আছে. 352 00:18:52,000 --> 00:18:56,000 >> অবশেষে, আমি অন্য বস্তুর এখানে আছে, এই TF. 353 00:18:56,000 --> 00:18:59,000 ওভার এখানে TF.h মূলত একই জিনিস. 354 00:18:59,000 --> 00:19:01,000 আমি থেকে NSObject, এবং উপায় দ্বারা inheriting করছি, 355 00:19:01,000 --> 00:19:03,000 আপনি যখন ক্লাস তৈরি এই সব আপনার জন্য হয়, 356 00:19:03,000 --> 00:19:06,000 ইন্টারফেস boilerplate এই ধরণের. 357 00:19:06,000 --> 00:19:08,000 এটা ছাত্র একটি সম্পত্তি আছে. 358 00:19:08,000 --> 00:19:15,000 আমি এখানে যে একটি সম্পূর্ণ অনেক সত্যিই করবেন না একটি দম্পতি পদ্ধতি, 359 00:19:15,000 --> 00:19:18,000 এবং যাতে মানে পরে আমি এই TF অবজেক্ট তৈরি 360 00:19:18,000 --> 00:19:23,000 আমি ভালো এই এটিতে পদ্ধতি গ্রেড কল করতে পারেন. 361 00:19:23,000 --> 00:19:26,000 Objective-C সিনট্যাক্স উপর কোন প্রশ্ন করার আগে আমরা আরো কিছু শুরু করে চলন্ত 362 00:19:26,000 --> 00:19:30,000 আকর্ষণীয় অ্যাপ্লিকেশান উন্নয়ন স্টাফ? 363 00:19:30,000 --> 00:19:34,000 >> ঠিক আছে, তাই আমি কি আসলে একটি আইফোন অ্যাপ্লিকেশন তৈরি করতে. 364 00:19:34,000 --> 00:19:39,000 আপনার আইফোন অ্যাপ্লিকেশন কোর ক্লাস যে আপনি ভিতর ব্যবহার করা হবে দেখুন কন্ট্রোলার বলা হয়, 365 00:19:39,000 --> 00:19:42,000 এবং মূলত একটি নিয়ামক একটি একক পর্দায় উপস্থাপন 366 00:19:42,000 --> 00:19:46,000 আপনার অ্যাপ্লিকেশন ভিতরে তাই, যদি আমি সঙ্গীত অ্যাপ্লিকেশন না, যেমন, 367 00:19:46,000 --> 00:19:50,000 একটি দৃশ্যের নিয়ামক দৃশ্য যা আমি আমার আইফোনের সব গান দেখতে প্রতিনিধিত্ব করতে পারে. 368 00:19:50,000 --> 00:19:53,000 আরেকটি দেখুন নিয়ামক যখন আমি একটি গান এবং ক্লিক করুন এটি খেলা শুরু হতে পারে 369 00:19:53,000 --> 00:19:55,000 অথবা হিসাবে আমি শিল্পীদের মধ্যে খনন করছি নিচে. 370 00:19:55,000 --> 00:19:59,000 যারা বিভিন্ন পর্দা প্রত্যেকটি একটি দৃশ্য নিয়ামক হিসাবে প্রতিনিধিত্ব করা যায়নি, 371 00:19:59,000 --> 00:20:04,000 এবং একটি নিয়ামক সত্যিই শুধু বর্গ যে কিভাবে এই পর্দায় কাজ করে. 372 00:20:04,000 --> 00:20:07,000 একটি দৃশ্য নিয়ামক ভিতরে থিংস, আমরা বৈশিষ্ট্য আছে চলুন, 373 00:20:07,000 --> 00:20:10,000 তাই একটি বাটন মত জিনিষ আমাদের দেখুন নিয়ামক একটি সম্পত্তি হতে যাচ্ছে. 374 00:20:10,000 --> 00:20:13,000 >> আমরা করছি পদ্ধতি চালু আছে, এবং মূলত এই ইভেন্ট হ্যান্ডলার হয়. 375 00:20:13,000 --> 00:20:16,000 এই পদ্ধতি বলছেন যখন আপনি এই বোতাম টিপুন 376 00:20:16,000 --> 00:20:19,000 আমি কোনো কিছু করতে চান, এবং পরিশেষে, আবার, 377 00:20:19,000 --> 00:20:24,000 আমরা এই আত্ম অভিব্যক্তি বর্তমান ইনস্ট্যান্স অ্যাক্সেস করতে ব্যবহার করা চলুন. 378 00:20:24,000 --> 00:20:29,000 যাও iOS মধ্যে ইন্টারফেস নির্মাণ আসলে সত্যিই সত্যিই, সহজ. 379 00:20:29,000 --> 00:20:32,000 তারা এই সুন্দর ড্র্যাগ এন্ড ড্রপ ইন্টারফেস নামক নির্মাতা ইন্টারফেস আছে, 380 00:20:32,000 --> 00:20:37,000 এবং 2 কোর ধারণা যে পর্যন্ত আপনার Objective-C ইন্টারফেস নির্মাতা যাও টেলিগ্রাম 381 00:20:37,000 --> 00:20:40,000 IBOutlet হয় এবং IBAction. 382 00:20:40,000 --> 00:20:44,000 একটি IBOutlet সহজভাবে বলছেন যে আপনি যদি একটি সম্পত্তি যে এর একটি বাটন ঘোষণা, 383 00:20:44,000 --> 00:20:47,000 এবং আপনি তা হুক আপনার প্রকৃত UI 'তে কিছু যাও আপ করতে চান, 384 00:20:47,000 --> 00:20:49,000 আপনি এটা একটা নালী বলে যাচ্ছেন. 385 00:20:49,000 --> 00:20:51,000 একইভাবে, আপনি যদি একটি হ্যান্ডলার প্রতিনিধিত্ব করতে চান 386 00:20:51,000 --> 00:20:54,000 তাহলে এটা একটা পদক্ষেপ বলে যাচ্ছেন. 387 00:20:54,000 --> 00:20:57,000 >> প্রকৃতপক্ষে এই গ্রাফিকাল উপস্থাপনা তারের আপ 388 00:20:57,000 --> 00:21:00,000 এবং আপনার কোড এটা আসলে সত্যিই, সহজ. 389 00:21:00,000 --> 00:21:03,000 আপনি যদি একটি IBOutlet জোড়া করতে চান, আপনি সব করতে হবে তা হচ্ছে আপনি ক্লিক নিয়ন্ত্রণ, 390 00:21:03,000 --> 00:21:05,000 এবং আমরা এই সত্যিই দ্রুত একটি উদাহরণ দেখতে পাবেন. 391 00:21:05,000 --> 00:21:07,000 আপনি নিয়ন্ত্রণ করতে ক্লিক করুন যেখানে এটি দেখুন কন্ট্রোলার. 392 00:21:07,000 --> 00:21:09,000 আপনি ইন্টারফেসের দিকে টেনে আনতে যাব, অথবা বিপরীতক্রমে করছি, 393 00:21:09,000 --> 00:21:13,000 যদি আপনি একটি ইভেন্ট হ্যান্ডলার হুক আপ করতে চান তাহলে আপনি ইন্টারফেস থেকে টেনে নিয়ে যান চলুন 394 00:21:13,000 --> 00:21:15,000 অন্যান্য দিক. 395 00:21:15,000 --> 00:21:20,000 চলুন সত্যিই একটি সহজ উদাহরণ iOS কটাক্ষপাত করা. 396 00:21:20,000 --> 00:21:23,000 >> যাক এর একটি নতুন প্রকল্প তৈরি. 397 00:21:23,000 --> 00:21:25,000 আমি অ্যাপ্লিকেশন আসা এখানে আপ চলেছি, 398 00:21:25,000 --> 00:21:28,000 এবং আমি একা দেখুন অ্যাপ্লিকেশন ক্লিক যাচ্ছি. 399 00:21:28,000 --> 00:21:31,000 আমি পরবর্তী ক্লিক করুন যাচ্ছি. আমি আমার নামের একটি প্রকল্পের দেব. 400 00:21:31,000 --> 00:21:33,000 আমি হ্যালো এটা ফোন করবো. 401 00:21:33,000 --> 00:21:36,000 মজার, আপেল অনুমান করা হয়েছে যে আপনি একটা পণ্য তৈরি করছেন 402 00:21:36,000 --> 00:21:38,000 যাতে আপনি এটি বিক্রি করে এবং তারা অর্থ উপার্জন করতে পারেন. 403 00:21:38,000 --> 00:21:41,000 নিচে এখানে আমি যে এই একটি আইফোন অ্যাপ্লিকেশন বলতে যাচ্ছি. 404 00:21:41,000 --> 00:21:44,000 আপনি একটি রহমান অ্যাপ্লিকেশন নির্মাণ, অথবা যদি আপনি ঐ অ্যাপ্লিকেশনের একটি তৈরি করতে চান করতে পারেন 405 00:21:44,000 --> 00:21:47,000 যে উভয় ডিভাইস আপনি যে খুব সমর্থন করতে পারেন. 406 00:21:47,000 --> 00:21:49,000 এগুলি কি আপনার checkmarks মত হওয়া চাই. 407 00:21:49,000 --> 00:21:51,000 >> আপনি storyboards, যা পরে আমাদের দেখতে পাবেন ব্যবহার করতে চান, 408 00:21:51,000 --> 00:21:54,000 এবং আপনি অবশ্যই স্বয়ংক্রিয় রেফারেন্স কাউন্টিং ব্যবহার করতে চান, 409 00:21:54,000 --> 00:21:58,000 যা একটা চমৎকার বৈশিষ্ট্য যে malloc এবং বিনামূল্যে বলতে হচ্ছে আপনার কাছ থেকে বাধা দেয়. 410 00:21:58,000 --> 00:22:03,000 যতক্ষণ না আপনি যাও malloc এবং বিনামূল্যে কল করতে চান, আমি এই চেক উপরেই ছেড়ে দেন. 411 00:22:03,000 --> 00:22:07,000 আমি পরবর্তী ক্লিক করুন এবং পরিশেষে, এই সম্পর্কে জিজ্ঞাসা করা যাচ্ছে যেখানে আমি এটিকে রাখতে চান, সেই করব. 412 00:22:07,000 --> 00:22:14,000 আমি তৈরি আঘাত, এবং এখানে আমরা যাবেন. 413 00:22:14,000 --> 00:22:16,000 আমি একটি নতুন প্রজেক্ট তৈরি. 414 00:22:16,000 --> 00:22:19,000 এখানে বাম ধরে সব ফাইল আমার প্রকল্পের ভিতরে যে, 415 00:22:19,000 --> 00:22:22,000 এবং যে আমি একটা আভা আছে বিজ্ঞপ্তি, এবং আমি না, এমনকি কিছু না. 416 00:22:22,000 --> 00:22:24,000 IOS মহান. 417 00:22:24,000 --> 00:22:27,000 >> উদাহরণস্বরূপ, এখানে এই ViewController.h, 418 00:22:27,000 --> 00:22:30,000 এই আমার প্রথম দৃশ্য নিয়ামক প্রতিনিধিত্ব করতে হয়, 419 00:22:30,000 --> 00:22:32,000 তাই আমার অ্যাপ্লিকেশন ভিতর প্রথম পর্দায়. 420 00:22:32,000 --> 00:22:34,000 এখন আমরা জানি কি এই বলছে না. 421 00:22:34,000 --> 00:22:36,000 আমরা আমি এই বর্গ ViewController করছি কলিং বলছে, 422 00:22:36,000 --> 00:22:40,000 এবং একটি ViewController যা একটি UIViewController আছে আছে, 423 00:22:40,000 --> 00:22:43,000 এবং এই আবার,, কিছু বর্গ যে আপেল লেখেন যে আমাদের জন্য সুবিধাজনক উপাদান আছে অনেক 424 00:22:43,000 --> 00:22:46,000 পর্দা প্রদর্শন করতে. 425 00:22:46,000 --> 00:22:50,000 এখানে আসলে আমি যেখানে শুরু সংজ্ঞা কি আমার দেখুন নিয়ামক আছে পারে, 426 00:22:50,000 --> 00:22:52,000 এবং এটি সক্রিয় যে সত্যিই আমি এই কোনো প্রয়োজন নেই. 427 00:22:52,000 --> 00:22:55,000 এটি boilerplate কোড যে আপেল বিনামূল্যে জন্য সম্পর্কে দেয়. 428 00:22:55,000 --> 00:22:59,000 আমি যে প্রথম লাইন দরকার কি, বা আমি একটি বর্গ নেই, 429 00:22:59,000 --> 00:23:02,000 তাই আমরা যে পরিত্রাণ পেতে এই পরিত্রাণ পেতে পারেন. 430 00:23:02,000 --> 00:23:05,000 ঠিক আছে, তাই এই হল আমার খালি পর্দা. 431 00:23:05,000 --> 00:23:08,000 >> এখন আসুন এই MainStoryboard.storyboard ক্লিক করুন, 432 00:23:08,000 --> 00:23:11,000 এবং এই হয় যেখানে এটি আকর্ষণীয় পেতে আরম্ভ করা হয়. 433 00:23:11,000 --> 00:23:14,000 আমার এই অ্যাপ্লিকেশন প্রথম পর্দায় উপস্থাপন করে. 434 00:23:14,000 --> 00:23:17,000 HTML এ যদি আমি একটি বাটন যুক্ত করতে চান, আমি একটা বাটন ট্যাগ তৈরি ছিল. 435 00:23:17,000 --> 00:23:20,000 আপনি একটি বাটন ট্যাগ তৈরি অ্যান্ড্রয়েড ইন আছে, 436 00:23:20,000 --> 00:23:23,000 কিন্তু iOS মধ্যে যদি আমি নীচে ডান দিকে নিচে এখানে আসা 437 00:23:23,000 --> 00:23:27,000 এবং যদি এই 3 য় একটিতে ক্লিক করুন এখানে আমি যেখানে এটি অবজেক্টস বলেছেন, 438 00:23:27,000 --> 00:23:31,000 এবং আমি নিচে, আমি বা স্ক্রল বাটন অনুসন্ধান শুরু করতে পারেন. 439 00:23:31,000 --> 00:23:35,000 এবং একটি বাটন চেহারা,, সুতরাং যদি আমি আসলে ড্র্যাগ এবং ড্রপ এই অধিকার আছে, 440 00:23:35,000 --> 00:23:38,000 আমি ঠিক করেছি আমার অ্যাপ্লিকেশন এই পর্দায় একটি বাটন যুক্ত. 441 00:23:38,000 --> 00:23:41,000 যদি আমি লেখা পরিবর্তন করতে চান, এটা আমি ডবল ক্লিক করতে পারেন, 442 00:23:41,000 --> 00:23:47,000 কিছু enticing ভালো বলতে "আমার টিপুন." 443 00:23:47,000 --> 00:23:51,000 ঠিক আছে এখন, আমি যদি এই অ্যাপ্লিকেশন চালানো, যাতে আমরা এটা কম্পাইল, 444 00:23:51,000 --> 00:23:54,000 তাই এটি চালানোর জন্য আমি উপরের বাম প্লে বোতামটি ক্লিক করুন এবং আমার অ্যাপ্লিকেশন আছে. 445 00:23:54,000 --> 00:23:58,000 আমি, কি করবেন না এবং আমি মিষ্টি খুঁজছেন আইফোন অ্যাপ্লিকেশন পেয়েছিলাম. 446 00:23:58,000 --> 00:24:01,000 যদি আমি এটিকে থামাতে চান, আপনি স্টপ বাটন ক্লিক করতে পারেন 447 00:24:01,000 --> 00:24:03,000 কারণ এটা আরো মজার. 448 00:24:03,000 --> 00:24:07,000 >> চলুন শুরু করা যাক বলতে আসলে আমি যখন আমি এই বোতাম টিপুন এরকম কিছু করতে চান. 449 00:24:07,000 --> 00:24:09,000 যে আমি কি কি প্রয়োজন হয় না আমি তৈরি করতে হবে 450 00:24:09,000 --> 00:24:13,000 একটি নতুন ইভেন্ট হ্যান্ডলার অথবা একটি কর্ম. 451 00:24:13,000 --> 00:24:16,000 তার মানে যে আমি কিছু পদ্ধতি যা আমি করতে চান নামক তৈরি করা প্রয়োজন 452 00:24:16,000 --> 00:24:18,000 যখন আমি বাটন টিপুন, তাই আসুন একটি নতুন পদ্ধতি নির্মাণের জন্য. 453 00:24:18,000 --> 00:24:20,000 আমি ViewController.h ভিতর আছি. 454 00:24:20,000 --> 00:24:22,000 আমি যে পদ্ধতি বিদ্যমান বলা প্রয়োজন. 455 00:24:22,000 --> 00:24:26,000 আমি একটি হাইফেন প্রথম প্রয়োজন কারণ আমি দৃশ্য নিয়ামক এই আহ্বান করা যাচ্ছে না. 456 00:24:26,000 --> 00:24:28,000 আমি একটি টাইপ দিন প্রয়োজন. 457 00:24:28,000 --> 00:24:31,000 এই ধরন যে IBAction জিনিস যে আমরা আগে দেখেছি হবে. 458 00:24:31,000 --> 00:24:35,000 এটি একটি হ্যান্ডলার, যাতে এটি একটি IBAction প্রত্যাবর্তন করবে, 459 00:24:35,000 --> 00:24:38,000 এবং এই XCode একটি ইঙ্গিতটি যাও যে বলে 460 00:24:38,000 --> 00:24:40,000 এই হল কিছু আমি কিছু টেলিগ্রাম করতে চান. 461 00:24:40,000 --> 00:24:45,000 আমি এটি একটি নাম দিন buttonPressed, সেমিকোলন মত, করতে পারেন. 462 00:24:45,000 --> 00:24:48,000 >> এখন আমি আমার ক্লাসের ভিতর একটি নতুন মেথড ব্যবহার করেছি. 463 00:24:48,000 --> 00:24:50,000 আমি এই পদ্ধতি বিদ্যমান আছে বলেন করেছি. 464 00:24:50,000 --> 00:24:53,000 এখন এর মধ্যে ViewController.m আসা যাক, 465 00:24:53,000 --> 00:24:56,000 এবং এর যাক কি এই পদ্ধতি কি বলতে পারেন. 466 00:24:56,000 --> 00:25:03,000 উদাহরণস্বরূপ যদি আমি শুরু টাইপ,, (অকার্যকর) buttonPressed 467 00:25:03,000 --> 00:25:06,000 বিজ্ঞপ্তি XCode সত্যিই চমৎকার এবং সম্পর্কে জন্য autocompletes. 468 00:25:06,000 --> 00:25:09,000 এটা সত্যিই বিস্ময়কর. 469 00:25:09,000 --> 00:25:12,000 এখানে উল্লেখ্য যে. মি ফাইলের ভিতরে আমি অকার্যকর বলতে পারেন, 470 00:25:12,000 --> 00:25:15,000 এবং এই কারণে যে সে আসলে একটি IBAction টাইপ না. 471 00:25:15,000 --> 00:25:19,000 এটা আসলে কোথাও এর একটি অকার্যকর হতে সংজ্ঞায়িত হ্যাশট্যাগ, 472 00:25:19,000 --> 00:25:22,000 এবং আবার, এটা XCode একটি ইঙ্গিতটি যে 473 00:25:22,000 --> 00:25:25,000 আমি এই একটি হ্যান্ডলার যাও হতে চান, এবং আমরা কেন শুধু একটি মধ্যে দ্বিতীয় দেখতে পাবেন. 474 00:25:25,000 --> 00:25:28,000 যখন এই বোতাম টেপা না হলে আমি কিছু বিরক্তিকর করতে যাচ্ছি 475 00:25:28,000 --> 00:25:30,000 একটি পপআপ প্রদর্শন করতে. 476 00:25:30,000 --> 00:25:35,000 >> যে আমি একটি এই শ্রেণীর নতুন উদাহরণস্বরূপ বলা UIAlertView তৈরি করতে পারেন না, 477 00:25:35,000 --> 00:25:39,000 এবং এই একটি বর্গ যে আপেল লিখেছেন যে বিরক্তিকর পপআপ প্রদর্শন করে যাচ্ছে. 478 00:25:39,000 --> 00:25:43,000 আমরা এই পপআপ সতর্কতা কল, এবং আমি 2 পদ্ধতি অনুসরণ করতে হবে, এই বস্তু তৈরি যাও, মনে রাখবেন. 479 00:25:43,000 --> 00:25:46,000 প্রথম জিনিস আমি যা করতে হবে স্থান বরাদ্দ করা হয়. 480 00:25:46,000 --> 00:25:48,000 আমি একটি UIAlertView চান. 481 00:25:48,000 --> 00:25:51,000 আমি স্থান বরাদ্দ করা চাই. এটা আমার প্রথম পদ্ধতি. 482 00:25:51,000 --> 00:25:53,000 আমার পরের পদ্ধতি আমি এটি আরম্ভ করতে চান, 483 00:25:53,000 --> 00:25:58,000 এবং তাই আমি এই বড়, লম্বা পদ্ধতিটিকে বলা initWithTitle আছে. 484 00:25:58,000 --> 00:26:01,000 মূলত এর কি এই পপআপ বলেছেন নিয়ন্ত্রণ করা যাচ্ছে. 485 00:26:01,000 --> 00:26:04,000 আমার পপআপ শিরোনাম হ্যালো হতে পারেন. 486 00:26:04,000 --> 00:26:08,000 এই পপআপ বার্তা "এটি iOS." হতে পারেন 487 00:26:08,000 --> 00:26:10,000 প্রতিনিধি জিনিস, আমি কি যে হয় না জানি. 488 00:26:10,000 --> 00:26:13,000 এর যাক, এটা কিছু না বলে. 489 00:26:13,000 --> 00:26:18,000 এখন যে বাটন প্রদর্শিত হবে এই মত "এটা নিশ্চিত হয়," কিছু বলতে পারেন 490 00:26:18,000 --> 00:26:24,000 এবং আমি সত্যিই অন্য কোন বাটন চাই না, তাই এর যে দিন এবং মুছে দিন বন্ধনী বন্ধ. 491 00:26:24,000 --> 00:26:27,000 >> ঠিক আছে, আমি একটি অতিরিক্ত এক নির্মিত. এখন পর্যন্ত আমরা যেতে. 492 00:26:27,000 --> 00:26:30,000 এটি কিভাবে আমি একটি নতুন পপআপ তৈরি করতে পারেন. 493 00:26:30,000 --> 00:26:35,000 যদি আমি আসলে পপআপ দেখাতে চান তা আমি শো পদ্ধতি কল করতে চান. 494 00:26:35,000 --> 00:26:38,000 যে আমি সতর্কতা এবং শো বলতে পারে না, 495 00:26:38,000 --> 00:26:40,000 এবং আবার, স্বয়ংসম্পূর্ণ ছিল সুপার চমৎকার. 496 00:26:40,000 --> 00:26:42,000 যদি আমি ভুলে গেছি কি ছিল যে, যদি আমি গুলি টাইপ করা, 497 00:26:42,000 --> 00:26:45,000 আমি এখানে মাধ্যমে জিনিসটা কি এটা ছিল স্ক্রল করতে পারেন, 498 00:26:45,000 --> 00:26:48,000 এবং এটা চমত্কারভাবে ফিল্টার. 499 00:26:48,000 --> 00:26:52,000 এখন আমি এই নতুন পপআপ তৈরি. 500 00:26:52,000 --> 00:26:55,000 আমরা কি প্রতিনিধি মানে ফিরে আসা পরে দেখব, 501 00:26:55,000 --> 00:26:58,000 এবং এখন আমি আমি চাই এই পদ্ধতি বহিস্কার করা বলতে চাই 502 00:26:58,000 --> 00:27:01,000 যখন আমি বাটন টিপুন, তাই আমি আমার স্টোরিবোর্ডের ফিরে আসতে যাচ্ছি, 503 00:27:01,000 --> 00:27:04,000 এবং আমি এখন এই IBAction জোড়া চান. 504 00:27:04,000 --> 00:27:06,000 প্রথম জিনিস আপনি কি করতে চান সেই বাটনটি ক্লিক করুন. 505 00:27:06,000 --> 00:27:08,000 আমি যখন এই বোতাম টিপুন আমি এরকম কিছু করতে চান. 506 00:27:08,000 --> 00:27:10,000 আমি নিয়ন্ত্রণ কমিয়ে রাখতে যাচ্ছি না. 507 00:27:10,000 --> 00:27:13,000 আমি এবং ক্লিক করুন বোতামটি ক্লিক করে টেনে আনুন চলেছি 508 00:27:13,000 --> 00:27:15,000 উপর এখানে যেখানে তা দেখুন কন্ট্রোলার বলছেন. 509 00:27:15,000 --> 00:27:17,000 আমরা যে চমত্কারভাবে এটি লাইট আপ দেখতে পারেন. 510 00:27:17,000 --> 00:27:22,000 >> আমি যদি দিন আমার মাউস দিয়ে যেতে এখন আমি এখানে উপর এই পপআপ আছে যেখানে আমি কিছু অপশন আছে. 511 00:27:22,000 --> 00:27:24,000 এই এক একটি ঘটনা যে আমি রেজিস্টার করতে পারেন. 512 00:27:24,000 --> 00:27:28,000 এগুলি যারা পদ্ধতি আমি আমার জ ফাইল হিসাবে IBActions ঘোষণা সব. 513 00:27:28,000 --> 00:27:31,000 এটি কিভাবে XCode জানেন কি এই সামান্য তালিকায় প্রদর্শিত হওয়া উচিত, 514 00:27:31,000 --> 00:27:33,000 যাতে মাত্র একটি ইঙ্গিত. 515 00:27:33,000 --> 00:27:37,000 যদি আমি বোতাম চাপা ক্লিক করুন, এখন আমি হ্যান্ডলার নিবন্ধিত করেছি. 516 00:27:37,000 --> 00:27:41,000 আমরা আমি কিছু কোড হ্যান্ডলার নিবন্ধিত আছে বলে জাভাস্ক্রিপ্ট ছিল. 517 00:27:41,000 --> 00:27:43,000 এটি Objective-C ইন সত্যিই ছিল যে সহজ. 518 00:27:43,000 --> 00:27:46,000 যদি আমি এই আবার চালানোর 519 00:27:46,000 --> 00:27:49,000 এখন যখন আমি বাটন টিপুন আমার হ্যান্ডলার ফায়ার যাচ্ছে, 520 00:27:49,000 --> 00:27:51,000 এবং আমি এই পপআপ পেতে যাচ্ছি. 521 00:27:51,000 --> 00:27:54,000 সুপার সুপার সেখানে সহজ. 522 00:27:54,000 --> 00:27:57,000 >> যদি কখনও যে ঘটনা ঘটতে করা নিবন্ধিত সব দেখতে চাই 523 00:27:57,000 --> 00:28:00,000 একটি কম্পোনেন্ট, যদি আমি এই বোতামে ক্লিক করুন 524 00:28:00,000 --> 00:28:02,000 এবং আমি আসা ডাইন এখানে উপর 525 00:28:02,000 --> 00:28:05,000 প্রথম আপনি এখানে দেখতে পারেন উপর আমি বোতাম ধরণ ভালো জিনিস করতে পারেন, 526 00:28:05,000 --> 00:28:08,000 তাই আপনি যদি সেই আমি এর বা অ্যাড যোগাযোগ বোতাম একটি চান তাহলে 527 00:28:08,000 --> 00:28:10,000 বা যাই হোক না কেন. 528 00:28:10,000 --> 00:28:13,000 যদি আমি এই ঘটনা বাটনের যে সব দেখতে চাই 529 00:28:13,000 --> 00:28:16,000 যদি আমি এখানে নিয়ে আসা উপায় ডান দিকে যাও 530 00:28:16,000 --> 00:28:19,000 আমরা বিভিন্ন ঘটনা আমি এই ঘটনা সব আছে এখানে দেখতে পারেন. 531 00:28:19,000 --> 00:28:23,000 আমি বাটন টিপুন, যখন আমি বোতাম যান, যখন আমি ট্যাপ বা দুবার যা খুশি করতে পারেন, 532 00:28:23,000 --> 00:28:26,000 এবং আমি এক নিবন্ধিত হয় এই ইভেন্ট টাচ নামক ইনসাইড আপ, 533 00:28:26,000 --> 00:28:29,000 এবং এই বলে যে যত তাড়াতাড়ি হিসাবে আমার আঙুল আসে বোতাম বন্ধ 534 00:28:29,000 --> 00:28:32,000 যে ঘটনা অগ্নি যাও, যাচ্ছে এবং যে ঠিক কি ঘটেছে তা ঠিক করা হয়. 535 00:28:32,000 --> 00:28:36,000 ডিফল্টরূপে এই বোতাম চাপা ইভেন্ট ধরনের. 536 00:28:36,000 --> 00:28:39,000 >> কোন প্রশ্ন এতদূর? 537 00:28:39,000 --> 00:28:43,000 ঠিক আছে, যে কিভাবে আমরা আমাদের কোড টেলিগ্রাম জিনিষ আপ শুরু করতে পারেন 538 00:28:43,000 --> 00:28:46,000 আমাদের মধ্যে ইন্টারফেসের ভিতরে জিনিষ. 539 00:28:46,000 --> 00:28:49,000 মনে রাখুন প্রথম জিনিস আমরা কি ছিল কোড খুঁজে বের করতে, 540 00:28:49,000 --> 00:28:54,000 এবং তারপর আমরা তারযুক্ত কোড ইন্টারফেস আপ, 541 00:28:54,000 --> 00:28:57,000 এবং আমাদের প্রথম অ্যাপ্লিকেশন আছে. 542 00:28:57,000 --> 00:29:00,000 ঠিক আছে, যে ছিল সত্যিই শান্ত, এবং আমরা এই বোতাম তৈরি. 543 00:29:00,000 --> 00:29:03,000 যাও যাও বৈশিষ্ট্য একটি গুচ্ছ তৈরি আছে কি যদি আমরা না করতে চান 544 00:29:03,000 --> 00:29:05,000 এই বোতাম প্রতিনিধিত্বমূলক? 545 00:29:05,000 --> 00:29:08,000 Tic Tac Toe উদাহরণস্বরূপ, আমি 9 বাটন আছে, 546 00:29:08,000 --> 00:29:11,000 এবং এটি সুপার, সুপার যাও ড্র্যাগ এবং ড্রপ 9 বার আছে বিরক্তিকর হতে চাই 547 00:29:11,000 --> 00:29:14,000 অথবা আমি যদি 81 সঙ্গে Tic Tac Toe পরিবর্তে 9 করা হয়েছে 548 00:29:14,000 --> 00:29:17,000 এবং আমি ড্র্যাগ এবং ড্রপ 81 বার দেখা হয়েছে, এবং যে পঙ্গু. 549 00:29:17,000 --> 00:29:20,000 অনেক ভালো একটি HTML কি আমরা করতে পারি পরিবর্তে হয় 550 00:29:20,000 --> 00:29:23,000 যখন আমরা ID-র নাম সমূহ এবং অন্যান্য বিষয়ে ছিল এবং আমরা জিনিস জন্য অনুসন্ধান করতে পারেন 551 00:29:23,000 --> 00:29:27,000 তাদের আইডি দ্বারা, একটি iOS একই ধারণা নামক ট্যাগ আছে. 552 00:29:27,000 --> 00:29:31,000 >> ট্যাগটি কেবল একটি অনন্য একটি কম্পোনেন্ট জন্য সংখ্যাগত আইডেন্টিফায়ার. 553 00:29:31,000 --> 00:29:34,000 যদি আমি এই 0 এর একটি ট্যাগ আছে, যেমন, 554 00:29:34,000 --> 00:29:38,000 যদি আমি একটি বাটন তৈরি এবং এটি 0 একটি ট্যাগ দিতে, এবং আমরা কিভাবে শুধুমাত্র একটি দ্বিতীয় মধ্যে কি সেটা দেখতে পাবেন, 555 00:29:38,000 --> 00:29:41,000 যদি আমি যে বাটন পেতে চান আমি সহজভাবে বলতে পারে আমি কল করতে চান 556 00:29:41,000 --> 00:29:45,000 বস্তুর উপর এখানে উপর পদ্ধতি viewWithTag, 557 00:29:45,000 --> 00:29:48,000 self.view, উদাহরণ স্বরূপ, যা বর্তমান পর্দায় উপস্থাপন,. 558 00:29:48,000 --> 00:29:53,000 যদি আমি যে পদ্ধতি viewWithTag কল, আমি ট্যাগ 0 সাথে বৈঠাচালনা বোতাম ফিরে যাচ্ছি. 559 00:29:53,000 --> 00:29:58,000 চলুন এই সময়ে একটি বিল্ডিং Tic Tac Toe দ্বারা কটাক্ষপাত. 560 00:29:58,000 --> 00:30:01,000 প্রথমত, এই হল আমার স্টোরিবোর্ডের. 561 00:30:01,000 --> 00:30:05,000 আমি এই 10 UI 'বোতাম তৈরি করে. 562 00:30:05,000 --> 00:30:07,000 উল্লেখ্য, তারা সব একই মাপের. 563 00:30:07,000 --> 00:30:11,000 যদি আমি এই এক এবং আমি এখানে ক্লিক করুন উপর ফিরে আসবে এই ডান পাশের 564 00:30:11,000 --> 00:30:15,000 আপনি আমি ফন্ট স্থায়ী ডান এখানে, তাই আমি ফন্ট তৈরি একটি অল্প বড় দেখতে পাবেন, 565 00:30:15,000 --> 00:30:19,000 কিন্তু কি আমি কি ছিল আমি এই ট্যাগটি সেট. 566 00:30:19,000 --> 00:30:23,000 আমি আগেই বলেছি যে এই 1 একটি ট্যাগ আছে, এবং যে উপরের বাম. 567 00:30:23,000 --> 00:30:26,000 >> এখন, আমি যদি অন্য বাটন ক্লিক করুন, যেমন এই দ্বিতীয় এখানে এক, 568 00:30:26,000 --> 00:30:29,000 এখন আপনি যে আমার ট্যাগটি 2 দেখতে পাবেন. 569 00:30:29,000 --> 00:30:32,000 এই বোতাম প্রত্যেকটি শুধু একটি অনন্য ট্যাগ আছে, 570 00:30:32,000 --> 00:30:35,000 এবং তাই পরে এই কি হয় আমি ইন্ট্যার্যাক্ট শুরু চলেছি 571 00:30:35,000 --> 00:30:38,000 সঙ্গে আমার অ্যাপ্লিকেশন. 572 00:30:38,000 --> 00:30:40,000 এটি একটি দৃশ্যে নিয়ামক সব ভিতর, 573 00:30:40,000 --> 00:30:42,000 কিন্তু এখানে কি আমরা আছে. 574 00:30:42,000 --> 00:30:44,000 আমরা 3 বৈশিষ্ট্য এখানে আছে. 575 00:30:44,000 --> 00:30:49,000 প্রথম এবং শেষ এক যাও আমার বোর্ড রাষ্ট্র প্রতিনিধিত্ব করতে হয়. 576 00:30:49,000 --> 00:30:53,000 মূলত এই প্রথম এক একটি অ্যারের প্রতিনিধিত্বমূলক যেখানে Xs এবং Os হয়. 577 00:30:53,000 --> 00:30:57,000 অন্য এক এখানে আমাদেরকে বলে, যার পালা এটা. 578 00:30:57,000 --> 00:31:01,000 আপনি যে আমি এইসব জিনিস আছে এখানে বিজ্ঞপ্তি পাবেন. 579 00:31:01,000 --> 00:31:05,000 আগে যখন আমরা বৈশিষ্ট্য ঘোষণা দিয়েছেন আমরা একটি নাম এবং একটি টাইপ তাদের. 580 00:31:05,000 --> 00:31:08,000 আমরা তাদের কিছু অতিরিক্ত তথ্য এখানে দিতে পারেন. 581 00:31:08,000 --> 00:31:11,000 এই প্রথম বলেছেন nonatomic, এবং এই কি বলছেন 582 00:31:11,000 --> 00:31:16,000 হয় মূলত শুধুমাত্র এক জিনিস কখনও একটি সময়ে এই পরিবর্তনশীল অ্যাক্সেস করার চেষ্টা করা হবে. 583 00:31:16,000 --> 00:31:19,000 আপনি আরো জটিল অ্যাপ্লিকেশন যা মাল্টিথ্রেডেড যেত না, 584 00:31:19,000 --> 00:31:22,000 ভূত মধ্যে এবং তাই আমরা ভিন্ন থ্রেড ছিল, 585 00:31:22,000 --> 00:31:25,000 এবং বিভিন্ন sprites একই সময়ে বিভিন্ন বিষয় হতে পারে না. 586 00:31:25,000 --> 00:31:29,000 >> যদি এই ক্ষেত্রে, তা কিছু যে আমরা এ পাবেন খুঁজছেন করা হয় না না, 587 00:31:29,000 --> 00:31:33,000 যদি আমরা বলতে nonatomic প্রকৃতপক্ষে এটি একটি জিনিষ একটু দ্রুত করতে যাচ্ছে. 588 00:31:33,000 --> 00:31:37,000 আমরা এই জিনিস বলা ধার্য করুন, বলিষ্ঠ, অথবা দুর্বল আছে. 589 00:31:37,000 --> 00:31:40,000 এই দায়িত্ব অর্পণ করা ঠিক বলছেন যে এই একটি সাধারণ ধরন. 590 00:31:40,000 --> 00:31:43,000 কারণ এই মাত্র একটি bool একটি অবজেক্ট অথবা পয়েন্টার না, 591 00:31:43,000 --> 00:31:46,000 তাই bool Objective-C মধ্যে নির্মিত হয়. 592 00:31:46,000 --> 00:31:49,000 এই বলে কি কিছু পয়েন্টার এখানে দিয়ে অভিনব না করার চেষ্টা করবেন না. 593 00:31:49,000 --> 00:31:51,000 এটি একটি নিয়মিত পুরানো scaler. 594 00:31:51,000 --> 00:31:54,000 Strong এবং দুর্বল, এই দুর্বল বলছেন যে আসলে 595 00:31:54,000 --> 00:31:57,000 আমি চাই এই দৃশ্য নিয়ামক কিছু যাও যাও প্রতি নির্দেশ করা হবে. 596 00:31:57,000 --> 00:32:00,000 আমি আসলে বরাদ্দ করা যাচ্ছে না অথবা init নিজেকে এই. 597 00:32:00,000 --> 00:32:04,000 ইন্টারফেস রচয়িতা, যখন আমি অ্যাপ্লিকেশন চালানোর জন্য, যে সকল আরম্ভের হ্যান্ডেল করতে যাচ্ছে. 598 00:32:04,000 --> 00:32:07,000 যদি আমি বলতে দুর্বল, যে কাউকে এই তৈরি করা হবে. 599 00:32:07,000 --> 00:32:09,000 যদি আমি বলে দৃঢ়, এই বলে যে আমি একজন হতে যাচ্ছি 600 00:32:09,000 --> 00:32:12,000 যে এই বোর্ডটি অবজেক্ট এর তৈরি, 601 00:32:12,000 --> 00:32:14,000 এবং এখানে আমি আরো কিছু পদ্ধতি আছে এখানে, 602 00:32:14,000 --> 00:32:18,000 উদাহরণস্বরূপ, যখন নতুন খেলা বাটন টেপা হলে জন্য একটি কর্ম, 603 00:32:18,000 --> 00:32:20,000 যখন অন্য কোনো বোতাম টেপা জন্য একটি কর্ম, 604 00:32:20,000 --> 00:32:23,000 এবং ইত্যাদি ইত্যাদি. 605 00:32:23,000 --> 00:32:26,000 >> আমরা Tic Tac Toe এর যুক্তি খুব বেশী করে পাওয়া হবে না, 606 00:32:26,000 --> 00:32:30,000 যদিও খুব উত্তেজনাপূর্ণ, কিন্তু এর যাক কটাক্ষপাত করা 607 00:32:30,000 --> 00:32:33,000 যে আমরা iOS ভিতর করতে পারেন. 608 00:32:33,000 --> 00:32:35,000 এই নতুন খেলার পদ্ধতি বহিস্কার করা যাচ্ছে 609 00:32:35,000 --> 00:32:37,000 যখনই আমি নতুন খেলা বাটন টিপুন. 610 00:32:37,000 --> 00:32:41,000 যে পর্যন্ত আমি কেবল আমার স্টোরিবোর্ডের মাধ্যমে আসা হুক. 611 00:32:41,000 --> 00:32:43,000 আমি নতুন খেলার উপর ক্লিক করা. 612 00:32:43,000 --> 00:32:47,000 যদি আমি আসা অধিকার উপর আমি যে এখানে দেখতে পারেন 613 00:32:47,000 --> 00:32:50,000 NewGame পদ্ধতি তারযুক্ত হয় ইনসাইড আপ করুন. 614 00:32:50,000 --> 00:32:53,000 এটা কেন এই বহিস্কার পেতে যাচ্ছে. 615 00:32:53,000 --> 00:32:56,000 newGame পদ্ধতি কিছু সেট আপ করতে হবে. 616 00:32:56,000 --> 00:32:59,000 এটা আমি কি প্লেনে অবস্থায় সাফ করতে চান বলে যাচ্ছে. 617 00:32:59,000 --> 00:33:01,000 এটি একটি চপল অ্যারে উপর চমৎকার পদ্ধতি. 618 00:33:01,000 --> 00:33:03,000 এর ফলে এটি এখন এর এক্স এর পালা বলতে হবে, 619 00:33:03,000 --> 00:33:07,000 এবং এখন আমি এই viewWithTag জিনিস সুবিধা গ্রহণ করতে যাচ্ছি. 620 00:33:07,000 --> 00:33:11,000 >> আমি জানি যে আমার বোতাম আছে 1-9 ট্যাগ, 621 00:33:11,000 --> 00:33:13,000 এবং যা কিছু আমি ইচ্ছামত বাছাই করা. 622 00:33:13,000 --> 00:33:15,000 যদি আমি প্রতিটি বোতাম পাঠ্যের খালি করা সেট করতে চান 623 00:33:15,000 --> 00:33:17,000 কারণ আমি একটি নতুন খেলা শুরু এবং আমি কোনো চাই না 624 00:33:17,000 --> 00:33:20,000 Xs বা OS বাকি করা উপর আমি এই করতে পারি. 625 00:33:20,000 --> 00:33:24,000 আমি আমি ট্যাগ দিয়ে দেখুন, 1, 2, 3, 4 ইত্যাদি ইত্যাদি করতে চান না. 626 00:33:24,000 --> 00:33:27,000 এই প্রতিটি সময় একটি ভিন্ন বোতাম উন্মুলিত করা হবে. 627 00:33:27,000 --> 00:33:30,000 এখানে আমি তা নিক্ষেপ UIButton যাচ্ছি. 628 00:33:30,000 --> 00:33:33,000 শুধু ভালো আমরা ints floats এবং তদ্বিপরীত যাও নিক্ষেপ করতে পারে 629 00:33:33,000 --> 00:33:37,000 এই বলে যে আমি একটা UIButton এই নিক্ষেপ করতে চান. 630 00:33:37,000 --> 00:33:40,000 তার মানে এই ধরনের একটি UIButton * হবে 631 00:33:40,000 --> 00:33:43,000 কারণ পয়েন্টার, তবে চিন্তা করবেন না, তারা আর ভয়ের করছি না. 632 00:33:43,000 --> 00:33:47,000 >> আমি একবার এই বোতাম আমি এটা একটি পদ্ধতি কল চলেছি আছে. 633 00:33:47,000 --> 00:33:50,000 এই পদ্ধতি setTitle forState বলা হয়, এবং তাই এই বলছেন 634 00:33:50,000 --> 00:33:53,000 আমি বোতাম পাঠ্যের খালি স্ট্রিং সেট করতে চান, 635 00:33:53,000 --> 00:33:57,000 এবং আমি এটি খালি স্ট্রিং যখন এটি চাপা না হতে চান. 636 00:33:57,000 --> 00:34:01,000 যদি আমি এই পদ্ধতি ব্যবহার করছি, আমি বোতাম টেক্সট পরিবর্তন করতে পারেন 637 00:34:01,000 --> 00:34:04,000 যত তাড়াতাড়ি কেউ এটি হিট, কিন্তু আমরা যখন মাত্র বোতাম বসা হয় সেখানে বলতে চাই 638 00:34:04,000 --> 00:34:07,000 আমি টেক্সট ফাঁকা হতে চান. 639 00:34:07,000 --> 00:34:10,000 পরিশেষে, আমরা যাও আমার বোর্ড আরম্ভ চলুন, 640 00:34:10,000 --> 00:34:12,000 এবং আমি যে 0 এ সবকিছু বর্তমানে বলতে যাচ্ছি, 641 00:34:12,000 --> 00:34:15,000 তাই এই বোর্ডের সদস্য অপরিবর্তনীয় একটি চপল অ্যারে, 642 00:34:15,000 --> 00:34:21,000 যার মানে আমি addObject পদ্ধতি এবং শুধুমাত্র একটি এটি 0 ভিতরে কল করতে পারেন. 643 00:34:21,000 --> 00:34:23,000 এটা কি আমি যখন একটি নতুন গেম তৈরি. 644 00:34:23,000 --> 00:34:25,000 >> যাক এর অন্য একটি কটাক্ষপাত করা. 645 00:34:25,000 --> 00:34:28,000 এখানে এই পদ্ধতি IBAction করা যে চাপা যাও যাচ্ছে 646 00:34:28,000 --> 00:34:31,000 প্রত্যেক সময় যারা স্কোয়ার এক টেপা না. 647 00:34:31,000 --> 00:34:33,000 এখন আমরা এখানে কিছু Tic Tac Toe যুক্তিবিজ্ঞান. 648 00:34:33,000 --> 00:34:36,000 আমরা চিত্র আউট যার পালা এটা, 649 00:34:36,000 --> 00:34:39,000 এবং উপর ভিত্তি হয় আমরা একটি X অথবা একটি হে সেট, 650 00:34:39,000 --> 00:34:43,000 কিন্তু আমরা লক্ষ্য করা যে আমরা এই একই হ্যান্ডলার পুনঃব্যবহার করছি 651 00:34:43,000 --> 00:34:45,000 জন্য প্রতি যারা বোতাম একক এক. 652 00:34:45,000 --> 00:34:49,000 তার মানে যে আমি উপরের বাম বাটন জন্য একটি পদ্ধতি আছে, না, 653 00:34:49,000 --> 00:34:52,000 একটি পৃষ্ঠার নীচের অংশে ডান বাটন জন্য বিভিন্ন পদ্ধতি, যদিও আমি কাজ আছে যা পারে. 654 00:34:52,000 --> 00:34:54,000 যে সত্যিই ভাল নকশা হবে না. 655 00:34:54,000 --> 00:34:57,000 আমি এখানে কি করছি আমি আসলে করছি নির্ধারণ করা যাচ্ছে 656 00:34:57,000 --> 00:35:00,000 কি যে বাটন টেপা হয়েছে ট্যাগ. 657 00:35:00,000 --> 00:35:04,000 আপনি লক্ষ্য করা যে এই খেলার পদ্ধতি এক যুক্তি লাগে. 658 00:35:04,000 --> 00:35:07,000 এটি প্রেরকের বলা হয়, এবং এর কি প্রেরক প্রেরককে হয় যাও যাচ্ছে 659 00:35:07,000 --> 00:35:10,000 ঠিক কি হয়েছিল উপর ব্যবস্থা গ্রহণ করা হয়. 660 00:35:10,000 --> 00:35:15,000 যদি আমি একটি বাটন টিপুন, এই যে প্রেরক UIButton হবে 661 00:35:15,000 --> 00:35:18,000 আসলে আমি চাপা, যাতে এর মানে হল যে UIButton 662 00:35:18,000 --> 00:35:20,000 একটি ট্যাগ থাকে কারণ আমি একটি ট্যাগ তৈরি. 663 00:35:20,000 --> 00:35:23,000 >> যদি আমি এ ট্যাগ পেতে চান আমি সহজভাবে বলতে পারেন 664 00:35:23,000 --> 00:35:26,000 আমি প্রেরক ও ট্যাগ করতে চান, 665 00:35:26,000 --> 00:35:28,000 এবং আবার, আমি একটি UIButton করেছি এটি casted. 666 00:35:28,000 --> 00:35:32,000 আমি যে প্রেরক একটি UIButton হবে জানি এরকম. 667 00:35:32,000 --> 00:35:34,000 এটি একটি UIButton করা আছে সবসময় না. 668 00:35:34,000 --> 00:35:36,000 আমি যেমন, একই হ্যান্ডলার রেজিস্টার পারে 669 00:35:36,000 --> 00:35:38,000  জন্য একটি বাটন, একটি স্লাইডার জন্য এক জন্য এক. 670 00:35:38,000 --> 00:35:40,000 এই ক্ষেত্রে, আমি জানি তারা সব বোতাম, তাই আমি বলতে যাচ্ছি 671 00:35:40,000 --> 00:35:43,000 আমি এই একটি বাটন হতে চান, এবং তারপর আমি ট্যাগ পেতে পারেন, 672 00:35:43,000 --> 00:35:48,000 এবং ট্যাগ থেকে এখন আমি জানি যেখানে আমি বোর্ড ভিতরে am. 673 00:35:48,000 --> 00:35:51,000 তারপর আমি সহজভাবে হয় এক্স অথবা O, ঘুরে টুসকি পারেন সেট করতে পারেন, 674 00:35:51,000 --> 00:35:54,000 চেক যারা, ইত্যাদি ইত্যাদি জিতেছে. 675 00:35:54,000 --> 00:35:59,000 >> এই এতদূর উপর কোন প্রশ্ন? 676 00:35:59,000 --> 00:36:02,000 ঠিক আছে, সব কোড আমরা অনলাইন পোস্ট 'আমরা খুব করে পেতে না চান 677 00:36:02,000 --> 00:36:06,000 এর Tic Tac Toe যুক্তিবিজ্ঞান, কিন্তু এখন আপনি যে সত্যিই দেখতে পারেন 678 00:36:06,000 --> 00:36:09,000 সমস্ত আমরা করছেন হয় আমরা এই অ্যারে উপর looping করছি, 679 00:36:09,000 --> 00:36:13,000 তাই আমরা loops জন্য এখানে একটি দম্পতি আছে, এবং আমরা শুধুমাত্র আপনার দেখতে তুলনা 680 00:36:13,000 --> 00:36:18,000 আমরা সব সারি, কলাম বা কিছু একটা যে ভালো মধ্যে একটি খেলার মধ্যে একটি মিল আছে. 681 00:36:18,000 --> 00:36:21,000 প্রকৃতপক্ষে এই অ্যাপ্লিকেশন চালানো যদি আমি এই বাটনগুলির এক টোকা 682 00:36:21,000 --> 00:36:24,000 যে খেলার পদ্ধতি বহিস্কার করা হয়, যাতে এর মানে আমি ঠিক সেট 683 00:36:24,000 --> 00:36:31,000 একটি বাটন এক্স হতে পারে তাই, এখন এই বোতাম একটি হে, এবং তাই করা হবে, 684 00:36:31,000 --> 00:36:35,000 এবং যাতে কিভাবে আমরা এই একক পাতা অ্যাপ্লিকেশন সাথে যোগাযোগ করার জন্য শুরু করছেন. 685 00:36:35,000 --> 00:36:38,000 >> আমরা কোড পোষ্ট করব, যাতে যে পড়া মুক্ত মনে, 686 00:36:38,000 --> 00:36:43,000 কিন্তু আমি কি এখন কিছু অ্যাপস যে শুধু একটা পাতা তুলনায় আরো সম্পর্কে কথা বলুন. 687 00:36:43,000 --> 00:36:47,000 Tic Tac Toe হিসাবে হিসাবে উত্তেজনাপূর্ণ ছিল iOS ভিতর, একটি অ্যাপ্লিকেশনের অনেক 688 00:36:47,000 --> 00:36:50,000 একাধিক পর্দা সঙ্গে জিনিষ নিচে এই ধরনের ড্রিল. 689 00:36:50,000 --> 00:36:54,000 প্রথম ধারণা যে আমরা যে বিষয়ে কথা বলার প্রয়োজন হবে হয় প্রোটোকল, 690 00:36:54,000 --> 00:36:57,000 এবং একটি প্রোটোকল কেবলমাত্র পদ্ধতি একটি সেট 691 00:36:57,000 --> 00:36:59,000 যে আপনি সংজ্ঞায়িত প্রতিশ্রুতি দিতে. 692 00:36:59,000 --> 00:37:02,000 যদি আমি এই পদ্ধতি 2 সঙ্গে নতুন প্রোটোকল, এই প্রথম একটি নির্মাণ, 693 00:37:02,000 --> 00:37:05,000 যদি রিটার্ন টাইপ অকার্যকর হয়, আমি এটা বলা foo বিন্যাস. 694 00:37:05,000 --> 00:37:07,000 এটা কোন যুক্তি লাগে. আমি অন্য একটি পদ্ধতি আছে. 695 00:37:07,000 --> 00:37:11,000 এটা কোন int ফেরৎ. আমি এটা বার বলা, এবং এটি একটি যুক্তি লাগে. 696 00:37:11,000 --> 00:37:14,000 সমস্ত এই প্রোটোকল হল SomeProtocol এর নামে এখানে, 697 00:37:14,000 --> 00:37:19,000 এই হল যে কেউ একটি সেট বাস্তবায়ন করতে পারে. 698 00:37:19,000 --> 00:37:22,000 আমি কি foo বিন্যাস আছে বলেন, এই প্রোটোকলের ভিতরে নি. 699 00:37:22,000 --> 00:37:26,000 পরিবর্তে, শুধু বলেই করছি আপনি foo বিন্যাস নির্ধারণ করুন যদি আপনি চান পারে. 700 00:37:26,000 --> 00:37:30,000 যদি আমি একটি নিয়ামক তৈরি করছি অথবা একটি বর্গ তৈরি 701 00:37:30,000 --> 00:37:33,000 আমি ভিতরে তজ্জাতীয় প্রতিশ্রুতি বাস্তবায়ন করতে পারেন 702 00:37:33,000 --> 00:37:40,000 কিছু এই পদ্ধতি ব্যবহার করা, যাতে উদাহরণস্বরূপ, যদি বলতে 703 00:37:40,000 --> 00:37:43,000 এই এখন বলছেন আমি আপনার নিকট প্রতিশ্রুতি তৈরীর যে ভিতরে 704 00:37:43,000 --> 00:37:50,000 এই দেখুন নিয়ামক শ্রেণীর আমি foo বিন্যাস এবং উভয় দণ্ড জন্য সংজ্ঞা থাকবে. 705 00:37:50,000 --> 00:37:52,000 >> কেন যে দরকারী? 706 00:37:52,000 --> 00:37:55,000 IOS ভেতরে উপাদান অনেক এই সুবিধা গ্রহণ 707 00:37:55,000 --> 00:37:58,000 নকশা প্যাটার্ন প্রতিনিধিদল বলা হয়, এবং কি প্রতিনিধিদল বলছেন 708 00:37:58,000 --> 00:38:01,000 হয় যে, উদাহরণস্বরূপ, যদি আমি একটি টেক্সট বক্স আছে 709 00:38:01,000 --> 00:38:04,000 এবং কিছু কিছু ঘটনা যে আমার টেক্সট বক্সের ভিতরে যায়নি নিবন্ধিত আছে, 710 00:38:04,000 --> 00:38:07,000 বরং পৃথক ঘটনা কি আমি কি করতে পারি তৈরি হয় আমি বলতে পারেন 711 00:38:07,000 --> 00:38:10,000 এই টেক্সট বক্সের প্রতিনিধি কিছু বস্তু হবে. 712 00:38:10,000 --> 00:38:13,000 আমি যখন বলছে এটি এখন একটি প্রতিনিধি তার মানে 713 00:38:13,000 --> 00:38:16,000 যখনই কিছু ইভেন্ট টেক্সট বক্সের মধ্যে থাকবে বহিস্কার করা হয়েছে 714 00:38:16,000 --> 00:38:18,000 বদলে যাও বা এটি যে ভালো কিছু রেজিস্টার হচ্ছে 715 00:38:18,000 --> 00:38:21,000 এটা এর প্রতিনিধি যাও একটি পদ্ধতি কল যাচ্ছে. 716 00:38:21,000 --> 00:38:24,000 উদাহরণস্বরূপ আমার টেক্সট বক্সের ভিতরে, আমি যখন আমি টিপুন জন্য একটি পদ্ধতি আছে, 717 00:38:24,000 --> 00:38:27,000 যে নীচের অংশে ডানদিকে অবস্থিত বাটন কাজ, 718 00:38:27,000 --> 00:38:30,000 এবং তাই বদলে হ্যান্ডলার আমি কি বলতে পারেন নিবন্ধনের হয় 719 00:38:30,000 --> 00:38:34,000 টেক্সট বক্সের এখানে, একটি বস্তুর যে আমি আপনাকে একটি পদ্ধতি কল করতে চান 720 00:38:34,000 --> 00:38:37,000 প্রত্যেক সময় কেউ সম্পন্ন বোতাম presses, 721 00:38:37,000 --> 00:38:40,000 এবং তার মানে তাদের যে বস্তুর কিছু প্রটোকল বাস্তবায়ন হয়েছে 722 00:38:40,000 --> 00:38:45,000 যে আমি যে কাজ বোতাম কর্ম নির্ধারণ করুন অঙ্গীকার, 723 00:38:45,000 --> 00:38:47,000 কারণ যদি এটি সংজ্ঞায়িত না করে এবং যে পদ্ধতি আপনার সম্পন্ন চাপুন, 724 00:38:47,000 --> 00:38:49,000 তারপর এটা বিভ্রান্তিকর হতে যাচ্ছে. 725 00:38:49,000 --> 00:38:55,000 >> যাক এর একটি উদাহরণ কটাক্ষপাত করা. 726 00:38:55,000 --> 00:38:58,000 এখানে আমি কেবল একটি টেক্সট বক্স আছে, 727 00:38:58,000 --> 00:39:04,000 এবং এই টেক্সট বক্সে, বৈশিষ্ট্য এই ডান পাশের এখানে উপর এক প্রতিনিধি. 728 00:39:04,000 --> 00:39:06,000 এই শ্রেণীর একটি সম্পত্তি. 729 00:39:06,000 --> 00:39:09,000 আমি কি এখানে কি হল আমি নিয়ন্ত্রণ ক্লিক করেন, এবং এই স্পট থেকে আমি এখানে উপর টেনেছেন 730 00:39:09,000 --> 00:39:13,000 দৃশ্য নিয়ামক, এবং যে এখন এই টেক্সট বক্সের প্রতিনিধি 731 00:39:13,000 --> 00:39:18,000 দৃশ্য নিয়ামক হবে. 732 00:39:18,000 --> 00:39:20,000 তার মানে যখন কিছু কর্ম ঘটতে বদলে নিবন্ধনের 733 00:39:20,000 --> 00:39:25,000 পৃথক ইভেন্ট হ্যান্ডলার আমি আপনাকে প্রতিনিধি প্রেরণ করতে ইচ্ছুক. 734 00:39:25,000 --> 00:39:28,000 এখন আমি কি আমার দেখুন নিয়ামক কটাক্ষপাত করা. 735 00:39:28,000 --> 00:39:32,000 সারাংশ. জ ফাইল ভিতরে আমি একটি অঙ্গীকার করেছি. 736 00:39:32,000 --> 00:39:36,000 আমি এই প্রোটোকল ভিতরে কিছু পদ্ধতি বাস্তবায়নের অঙ্গীকার করেছি 737 00:39:36,000 --> 00:39:38,000 বলা UITextFieldDelegate, এবং আবার, 738 00:39:38,000 --> 00:39:42,000 এই মাত্র কিছু জিনিস আছে যা আমি প্রয়োগ করা চয়ন করতে পারেন তালিকা. 739 00:39:42,000 --> 00:39:46,000 >> যদি আমি আমার. মি ফাইলে এখানে আসা, আমি এক ধরনের পদ্ধতি প্রয়োগ করা আছে. 740 00:39:46,000 --> 00:39:49,000 আমি এটি textFieldShouldReturn নামক করেছি 741 00:39:49,000 --> 00:39:52,000 কারণ যে কি তা প্রোটোকল ভিতর বলা ছিল. 742 00:39:52,000 --> 00:39:57,000 এবং এখন আমি যখনই কাজ যে টেক্সট ক্ষেত্রের বোতাম টিপুন ভিতরে 743 00:39:57,000 --> 00:40:00,000 এই কি শুরু বলা যাও যাচ্ছে, তাই আমি একটি হ্যান্ডলার রেজিস্টার কি না. 744 00:40:00,000 --> 00:40:03,000 আমি প্রতিনিধি ছিলেন, এবং যখনই এই ইভেন্ট বহিস্কার করা হয় 745 00:40:03,000 --> 00:40:08,000 এই পদ্ধতিতে যে বলা হবে, তাই যদি আমি আমার আসা স্টোরিবোর্ডের এখানে উপর এবং এটি চালানোর- 746 00:40:08,000 --> 00:40:11,000 যখন যে লোড এর আমরা কি এই আছে দেখতে পারেন. 747 00:40:11,000 --> 00:40:13,000 আমার পর্দায় আমি 2 জিনিষ আছে. 748 00:40:13,000 --> 00:40:16,000 আমি এই টেক্সট ক্ষেত্রের আছে, এবং আমি এই লেবেল আছে. 749 00:40:16,000 --> 00:40:19,000 আমি কেবল করছি বলছে আমি এই লেবেলের টেক্সট চান 750 00:40:19,000 --> 00:40:23,000 সমান যাই হোক না কেন ব্যবহারকারী টেক্সট ক্ষেত্রের ভিতরে টাইপ করা. 751 00:40:23,000 --> 00:40:26,000 এই পরবর্তী এখানে লাইন কেবল একটি পদ্ধতি যে আমি আহ্বান করছি 752 00:40:26,000 --> 00:40:29,000 টেক্সট ক্ষেত্রের যে আমি আপনি কীবোর্ড যাও লুকাতে চান. 753 00:40:29,000 --> 00:40:33,000 এই পদ্ধতি শুধুমাত্র নির্বিচারে যে আপেল না. 754 00:40:33,000 --> 00:40:38,000 >> আবার, আগে আমি কিছু আমি সবকিছু আপ তারের ছিল কি তাই, আমি প্রথম এখানে এসেছেন উপর. 755 00:40:38,000 --> 00:40:42,000 দেখুন নিয়ামক থেকে আমি টেক্সট বক্সের উপর টেনে আনুন. 756 00:40:42,000 --> 00:40:46,000 আমি যাক, যেতে হবে এবং আমি এখানে দেখতে পারেন যে আমি এই টেক্সট ক্ষেত্রের সম্পত্তি করতে পারেন 757 00:40:46,000 --> 00:40:49,000 দেখুন নিয়ামক সালে এখানে যেহেতু আমি একটি সম্পত্তি সংজ্ঞায়িত করেছি 758 00:40:49,000 --> 00:40:52,000 যে একটি টেক্সট ক্ষেত্রের মধ্যে একটি IBOutlet. 759 00:40:52,000 --> 00:40:55,000 এই বলে যে আমি এই সম্পত্তি তারের আপ করতে পারেন 760 00:40:55,000 --> 00:40:59,000 একটি টেক্সট ক্ষেত্রের মধ্যে আমার UI 'তে. 761 00:40:59,000 --> 00:41:03,000 এখন যখন আমি এই ক্লিক আমি টাইপ করা শুরু করতে পারেন. 762 00:41:03,000 --> 00:41:06,000 এখন যদি আমি কাজ বাটন ক্লিক করুন এই ফায়ার যাচ্ছে 763 00:41:06,000 --> 00:41:08,000 একটি ইভেন্ট যে এখন আমি উত্তর দিতে পারেন. 764 00:41:08,000 --> 00:41:10,000 কোনো ইভেন্ট হ্যান্ডলার. 765 00:41:10,000 --> 00:41:13,000 এটা কিভাবে আমি কাজ যা বাটন প্রতিক্রিয়া. 766 00:41:13,000 --> 00:41:15,000 জানার জন্য? 767 00:41:15,000 --> 00:41:20,000 >> এই যে, আপনি কি কখনও নিজেকে খুঁজে পেতে নাও হতে পারে একটি নকশা প্যাটার্ন না 768 00:41:20,000 --> 00:41:23,000 আপনার নিজের তৈরি করা প্রোটোকল, কিন্তু শুধু জানতে পারি যে কয়েকটা 769 00:41:23,000 --> 00:41:27,000 বিভিন্ন iOS উপাদান বিভিন্ন ঘটনা রেজিস্টার. 770 00:41:27,000 --> 00:41:29,000 উদাহরণ হিসাবে বোতামগুলি জন্য, যারা IBActions ব্যবহার. 771 00:41:29,000 --> 00:41:32,000 অন্যদিকে শিরোনাম ক্ষেত্র,, যাও প্রতিনিধিদের ব্যবহার করতে যাচ্ছি. 772 00:41:32,000 --> 00:41:36,000 আমরা আপনাকে এবং যে নথিপত্র আপ ভিতর সব চেহারা দেখতে পারেন. 773 00:41:36,000 --> 00:41:41,000 যাইহোক, এর আসলে সেখানে পণ্যদ্রব্য UI 'তে একটি টন আপনি iOS জন্য অন্তর্নিহীত, 774 00:41:41,000 --> 00:41:46,000 যাতে, উদাহরণস্বরূপ, আমি পথ তৈরি নিচের ডানদিকে সম্পন্ন বলবার 775 00:41:46,000 --> 00:41:48,000 হয় আমি এই টেক্সট ক্ষেত্রের নির্বাচিত. 776 00:41:48,000 --> 00:41:50,000 আমি এখানে এসেছিলেন উপর. 777 00:41:50,000 --> 00:41:53,000 আমি scrolled একটু নিচে কী ফিরে, 778 00:41:53,000 --> 00:41:56,000 এবং আসলে আমি এই জন্য একটি জিনিষ আভা, মত যদি আমি চাই যে বলতে পারেন 779 00:41:56,000 --> 00:42:00,000 ইমার্জেন্সি কল পরিবর্তে আমি যে কি, যা হচ্ছে, তা সম্পূর্ণই র্যান্ডম করতে পারেন, 780 00:42:00,000 --> 00:42:02,000 এবং আমি কেন একটি অন্তর্নির্মিত জরুরী কল বোতাম আছে না, 781 00:42:02,000 --> 00:42:06,000 কিন্তু আছে, এটি সত্যিই ছোট করে জরুরি কল. 782 00:42:06,000 --> 00:42:08,000 এখন পর্যন্ত আপনি যান. 783 00:42:08,000 --> 00:42:12,000 >> নিশ্চিতভাবে এইসব iOS বিভিন্ন করা সমস্ত বিকল্পগুলির মান অন্বেষণ. 784 00:42:12,000 --> 00:42:14,000 প্রতিনিধিদের উপর কোন প্রশ্ন? 785 00:42:14,000 --> 00:42:18,000 আবার, শুধু একটি আকর্ষণীয় ডিজাইন প্যাটার্ন যে আপনি সচেতন হওয়া উচিত. 786 00:42:18,000 --> 00:42:22,000 ঠিক আছে, এর পরের দিন টেবিল দৃশ্য অবলোকন করা. 787 00:42:22,000 --> 00:42:26,000 একটি টেবিল ভিউ মূলত আইটেম তালিকা যে সব iOS মধ্যে জায়গা জুড়ে যে হয়. 788 00:42:26,000 --> 00:42:29,000 আপনি যখন আপনার পরিচিতির মাধ্যমে সব আলোকসম্পাতের করছি, আপনি এ খুঁজছেন 789 00:42:29,000 --> 00:42:34,000 সেটিং পাতা, এবং জিনিস তালিকার যে ধরনের একটি টেবিল ভিউ বলা হয়. 790 00:42:34,000 --> 00:42:37,000 একটি iOS মধ্যে টেবিল ভিউ প্রবর্তনকারী বেশ সহজ. 791 00:42:37,000 --> 00:42:41,000 পরিবর্তে একটি বর্গ যে UIViewController থেকে যে descends তৈরীর 792 00:42:41,000 --> 00:42:44,000 ভালো আমরা আগে আমরা সহজভাবে বরং বলা প্রয়োজন সম্পন্ন করেছি 793 00:42:44,000 --> 00:42:46,000 সবকিছু একটি UIViewController আমি না করে যেতে চাই, 794 00:42:46,000 --> 00:42:50,000 আমি সবকিছু একটি UITableViewController আমি যেতে চাই না বলে, 795 00:42:50,000 --> 00:42:54,000 যাতে কেবল অতিরিক্ত কিছু জিনিস আছে যা আমাদের জন্য সম্পূর্ণ সম্পন্ন করে যোগ করা হয়. 796 00:42:54,000 --> 00:42:58,000 আমরা মূলত টেবিল ভিতরে ঐ খালি স্থান পূরণ করতে হবে খুব সামান্য. 797 00:42:58,000 --> 00:43:02,000 >> যাতে একটি টেবিল আমি কিছু প্রশ্নের উত্তর দিতে হবে প্রদর্শন. 798 00:43:02,000 --> 00:43:06,000 প্রথম প্রশ্ন আমি উত্তর প্রয়োজন হয় টেবিলের মধ্যে কতগুলি বিভাগ? 799 00:43:06,000 --> 00:43:08,000 আপনি যখন আপনার যোগাযোগ অ্যাপ্লিকেশন মাধ্যমে আলোকসম্পাতের করছেন আপনি যে ধরনের বিজ্ঞপ্তি পাবেন 800 00:43:08,000 --> 00:43:12,000 যেহেতু দ্বারা সংগঠিত থাকে, তাহলে আপনি Bs আছে, এবং আপনি যে সামান্য সাব হেডারের আছে. 801 00:43:12,000 --> 00:43:14,000 যারা প্রত্যেকটি একটি অধ্যায় বলা হয়. 802 00:43:14,000 --> 00:43:16,000 আপনি এই না করার প্রয়োজন হতে পারে বা নাও থাকতে পারে. 803 00:43:16,000 --> 00:43:19,000 সর্বপ্রথম যে জিনিসটি আপনাকে একটি পদ্ধতি বাস্তবায়ন 804 00:43:19,000 --> 00:43:22,000 বলা tableView: numberOfSectionsInTableView. 805 00:43:22,000 --> 00:43:25,000 যে সহজভাবে ফেরৎ কতগুলি বিভাগে আপনার আছে, 806 00:43:25,000 --> 00:43:29,000 তাই এই এক যদি আপনি এক বড় টেবিল ভিউ আছে ফিরে বলতে পারে. 807 00:43:29,000 --> 00:43:33,000 পরের প্রশ্ন যে iOS জানা প্রয়োজন কত সারি আছে? 808 00:43:33,000 --> 00:43:36,000 উদাহরণস্বরূপ, আপনি একটি টেবিল ভিউ মাধ্যমে আলোকসম্পাতের করছি. 809 00:43:36,000 --> 00:43:39,000 আপনি একটি নির্দিষ্ট সংখ্যক গান আপনি খুঁজছেন অথবা একটি যোগাযোগ নির্দিষ্ট নম্বর আছে. 810 00:43:39,000 --> 00:43:41,000 যদি আপনি এ সম্পর্কে,, অনেক না যে, 811 00:43:41,000 --> 00:43:44,000 এবং যাতে কিভাবে iOS জানেন কিভাবে বহু কোষের প্রদর্শন. 812 00:43:44,000 --> 00:43:46,000 >> আবার, এই ফেরত 3 ভালো কিছু বলতে পারে. 813 00:43:46,000 --> 00:43:49,000 আমার টেবিল ভিউ 3 সারি আছে. 814 00:43:49,000 --> 00:43:52,000 অবশেষে, iOS কি প্রতিটি কোষের মত দেখাচ্ছে জেনে রাখা দরকার, 815 00:43:52,000 --> 00:43:54,000 তাই এটি কি আসলে এর যাচ্ছে না হয় এই পদ্ধতি নিচে এখানে ফোন, 816 00:43:54,000 --> 00:43:57,000 এই tableView: cellForRowAtIndexPath. 817 00:43:57,000 --> 00:44:01,000 এটা আপনার প্রত্যেক টেবিলের ভিতর একক সেল এই পদ্ধতি কল যাচ্ছে. 818 00:44:01,000 --> 00:44:03,000 এটা জানি কতবার তা কল? 819 00:44:03,000 --> 00:44:06,000 হ্যাঁ, আপনি বিভাগে সারি সংখ্যা ভিতরে কিছু বলেছিলেন. 820 00:44:06,000 --> 00:44:08,000 আমরা আমাদের ঘর প্রতিটি এই কল চলুন, 821 00:44:08,000 --> 00:44:11,000 এবং এই ভেতরে হয় যেখানে আপনি আসলে জিনিস ভালো করতে পারেন 822 00:44:11,000 --> 00:44:16,000 টেক্সট বা সেট আপনি কি যে সামান্য ডান দিকে নীল বাটন আছে বলুন. 823 00:44:16,000 --> 00:44:19,000 এই কোষ পাবার জন্য প্যাটার্ন, আমরা এই পদ্ধতি ব্যবহার করতে যাচ্ছেন 824 00:44:19,000 --> 00:44:22,000 বলা dequeueReusableCellWithIdentifier. 825 00:44:22,000 --> 00:44:29,000 >> Objective-C হয় আসলে তাদের পদ্ধতি নামের হাস্যকর দ্বারা জন্য খুব ভালোভাবে পরিচিত, 826 00:44:29,000 --> 00:44:32,000 এবং এই সত্যিই একটি বিন্দু যেমন চমৎকার কেস. 827 00:44:32,000 --> 00:44:37,000 এই পদ্ধতি কি ঠিক আছে এই বলে আমি আপনাকে একটি কক্ষ সম্পর্কে দিতে চান. 828 00:44:37,000 --> 00:44:39,000 শুধু একটি iOS জিনিস. 829 00:44:39,000 --> 00:44:41,000 আপনি যদি আপনার আইপড 100,000 গান মত কিছু আছে 830 00:44:41,000 --> 00:44:45,000 কি iOS যাও করতে না চায় হল 100,000 কোষ বরাদ্দ করা, 831 00:44:45,000 --> 00:44:48,000 কারণ যদি আপনি আপনার তালিকার শীর্ষে থাকেন, সত্যিই আপনি কি মেমরি বরাদ্দ করা প্রয়োজন 832 00:44:48,000 --> 00:44:51,000 ঘরের জন্য যে 99.000 নিচে সারি? 833 00:44:51,000 --> 00:44:55,000 না, কারণ হিসাবে আপনি প্রদর্শনের করছি আপনি হিসাবে আপনি বরাবর বরাদ্দ করা যেতে ধরনের পারেন. 834 00:44:55,000 --> 00:44:57,000 এটা আপনার জন্য এটা করা হয়. 835 00:44:57,000 --> 00:44:59,000 আপনি যে সব মূঢ় কর্মক্ষমতা স্টাফ চিন্তা করতে হবে না. 836 00:44:59,000 --> 00:45:02,000 সমস্ত আপনি বলতে হয় আপনি এই পদ্ধতি dequeueReusableCellWithIdentifier কল, 837 00:45:02,000 --> 00:45:06,000 এবং এই বলে, ঠিক আছে, যদি আপনাকে আমি আপনার জন্য একটি নতুন কোষ তৈরি করতে হবে. 838 00:45:06,000 --> 00:45:09,000 >> তবে আপনি যদি টেবিলের নীচে হন এবং আপনার আগে থেকেই কিছু কক্ষ বরাদ্দ করেছি 839 00:45:09,000 --> 00:45:12,000 এ টেবিল উপরের যে সত্যিই আপনি যে কোনো সময় যে খুব শীঘ্রই প্রয়োজন করছি যাচ্ছে না 840 00:45:12,000 --> 00:45:15,000 আমি আপনাকে এর পরিবর্তে একটি নতুন বণ্টন ফিরে সেই দিন চলেছি, 841 00:45:15,000 --> 00:45:17,000 এবং তাই এই একটি চমৎকার পারফরম্যান্স উদ্বেগ. 842 00:45:17,000 --> 00:45:21,000 আপনি নিজের ঘর বরাদ্দ করা হবে না. 843 00:45:21,000 --> 00:45:23,000 যে আপনাকে ফেরত দিতে একটি কোষ যাচ্ছে. 844 00:45:23,000 --> 00:45:25,000 এটি আপনার একটি কোষ বস্তুর ফিরে যাচ্ছে. 845 00:45:25,000 --> 00:45:28,000 আপনি একবার ঘরের অবজেক্ট আপনি এটা করতে পারেন উপাদান আছে. 846 00:45:28,000 --> 00:45:32,000 আপনি এই সম্পত্তি নামক টেক্সট লেবেল সহ ঘরের টেক্সট সেট করতে পারেন. 847 00:45:32,000 --> 00:45:36,000 আপনি ডান বা অন্য কিছু র্যান্ডম স্টাফের উপর যে তীর যুক্ত করতে পারেন 848 00:45:36,000 --> 00:45:41,000 এই অন্যান্য সম্পত্তি সাথে ডাকা accessoryType, এবং তাই এবং তাই. 849 00:45:41,000 --> 00:45:46,000 >> চলুন আসলে একটি টেবিল ভিউ এখন রূপায়ণকারী কটাক্ষপাত করা. 850 00:45:46,000 --> 00:45:49,000 যখন আমি এই প্রজেক্ট তৈরী 851 00:45:49,000 --> 00:45:53,000 বরং একক দেখুন আবেদন বলছে আসলে আমি এখানে এসেছিলেন উপর 852 00:45:53,000 --> 00:45:57,000 মাস্টার-বিস্তারিত আবেদন, যাতে এবং মূলত এই মেইল ​​অ্যাপ্লিকেশন অনুরূপ 853 00:45:57,000 --> 00:46:01,000 বাম টেবিলের উপর দেখুন এবং তারপর ডান বিষয়বস্তু সঙ্গে রহমান. 854 00:46:01,000 --> 00:46:07,000 আইপড বা আইফোনের এই একটি টেবিল ভিউ থেকে মিলা যাচ্ছে. 855 00:46:07,000 --> 00:46:10,000 যে যেখানে আমি আমার স্টার্টার কোড পেয়েছিলাম. 856 00:46:10,000 --> 00:46:13,000 >> যাক এর প্রথম স্টোরিবোর্ডের কটাক্ষপাত করা. 857 00:46:13,000 --> 00:46:15,000 এই সব আমার জন্য, কাজ মূলত তৈরি হয়. 858 00:46:15,000 --> 00:46:18,000 এই ন্যাভিগেশন বারের সম্পর্কে দেখিয়েছি কি একটি উদাহরণ ঘরের মত মনে হত, 859 00:46:18,000 --> 00:46:22,000 এবং আমি এই ডবল ক্লিক করুন, এর শিরোনাম পরিবর্তন করতে পারেন. 860 00:46:22,000 --> 00:46:25,000 অন্য কোন উদ্বেগ UI 'তে আমি হ্যান্ডেল করতে পারে সেখানে. 861 00:46:25,000 --> 00:46:27,000 হেডার ফাইলটি দেখায় সত্যিই সহজ. 862 00:46:27,000 --> 00:46:30,000 বরং বলছে এই UIViewController তুলনায় আমরা এখন বলছে তা এই একটি 863 00:46:30,000 --> 00:46:35,000 TableViewController, তাই আমরা জানি যে আমরা ঐ সমস্ত টেবিলের পদ্ধতি কল করতে চান. 864 00:46:35,000 --> 00:46:38,000 পরে আমি একটি সম্পত্তি যে উপস্থাপন করে যাচ্ছে তৈরি করতে চান 865 00:46:38,000 --> 00:46:40,000 আমার টেবিলের ভিতর জিনিষ. 866 00:46:40,000 --> 00:46:43,000 এই টেবিলের ইচ্ছামত প্রদর্শন করতে যাচ্ছে 867 00:46:43,000 --> 00:46:46,000 ফলের একটি তালিকা, এবং তাই আমি কিছু অ্যারে নির্মাণ করার প্রয়োজন 868 00:46:46,000 --> 00:46:49,000 যা আমি ফল সন্নিবেশ করতে পারেন. 869 00:46:49,000 --> 00:46:52,000 আমি কি আমার বাস্তবায়ন ফাইল ভিতর সর্বপ্রথম যে জিনিসটি করতে চান 870 00:46:52,000 --> 00:46:55,000 আমি নিশ্চিত আমি এই অ্যারে আরম্ভ করতে চাই. 871 00:46:55,000 --> 00:46:58,000 >> আমি alloc init বলেন, আমার ফল অ্যারে তৈরি, 872 00:46:58,000 --> 00:47:03,000 এবং আমি 4 জিনিষ করছি যোগ করার জন্য, যার মধ্যে অনেক অন্যান্য 3 থেকে বেশী বিতর্কিত. 873 00:47:03,000 --> 00:47:06,000 এবং এখন আমি মাপ 4 শ্রেণীবিন্যাস আছে. 874 00:47:06,000 --> 00:47:08,000 আমরা এটা কম্পনের CS50 আপ করছি. 875 00:47:08,000 --> 00:47:11,000 আমি এখন আকার 4 শ্রেণীবিন্যাস আছে. 876 00:47:11,000 --> 00:47:13,000 এখন আমি এইসব প্রশ্নের উত্তর শুরু করতে যাচ্ছে, এবং প্রকৃতপক্ষে করছি, 877 00:47:13,000 --> 00:47:16,000 যখন আমি এই অ্যাপ্লিকেশন তৈরি এই সব আমার জন্য ইতিমধ্যে সম্পন্ন হয়েছে. 878 00:47:16,000 --> 00:47:19,000 আমি টেবিল ভিউ টাইপ বিভাগের নম্বর আউট করতে হত না. 879 00:47:19,000 --> 00:47:22,000 এটি আগেই ছিল, এবং আমি ঐ খালি পূরণ করছি. 880 00:47:22,000 --> 00:47:24,000 কত বিভাগে আমি কি আছে? 881 00:47:24,000 --> 00:47:26,000 এক. সমস্ত কাজ. 882 00:47:26,000 --> 00:47:28,000 কত সারি আমি কি আছে? 883 00:47:28,000 --> 00:47:31,000 ওয়েল, আমি প্রত্যেক ফলের জন্য একটি সারি আছে, তাই এই গণনা 884 00:47:31,000 --> 00:47:34,000 কোন অ্যারের যে কিভাবে বড় হয় এটি একটি সম্পত্তি? 885 00:47:34,000 --> 00:47:36,000 এটা কিভাবে আমি অনেক সারি আছে. 886 00:47:36,000 --> 00:47:42,000 অবশেষে, আমি কি প্রতিটি কোষের জন্য অনুরূপ বলে প্রয়োজন? 887 00:47:42,000 --> 00:47:46,000 আমি dequeueReusableCellWithIdentifier বলতে যাচ্ছি. 888 00:47:46,000 --> 00:47:48,000 >> আবার, এই ইতিমধ্যে আমার জন্য ছিল না. 889 00:47:48,000 --> 00:47:51,000 আমি নিজেই কি এই, না আছে এবং আমি ফিরে পেতে চাই 890 00:47:51,000 --> 00:47:54,000 এই স্থানে এই ঘর. 891 00:47:54,000 --> 00:47:57,000 যে আমরা প্রতি একক সেল এই একই পদ্ধতি করছি কলিং মনে রাখবেন, 892 00:47:57,000 --> 00:48:01,000 এবং এখানে এই যুক্তি, এই indexPath যুক্তি, 893 00:48:01,000 --> 00:48:03,000 বলেন কি সারি আমি ইন 894 00:48:03,000 --> 00:48:05,000 যদি আমি indexPath.row বলতে এখানে নিচে 895 00:48:05,000 --> 00:48:09,000 এই 0 হবে, তারপর 1 হতে হবে, তারপর 2 হতে পারে, এবং এই এত আমি জানি হবে 896 00:48:09,000 --> 00:48:11,000 কি সেল বর্তমানে আমি প্রদর্শন করছি. 897 00:48:11,000 --> 00:48:15,000 আমি কক্ষের পাঠ্য এই textLabel সম্পত্তি ব্যবহার করে সেট করতে চান 898 00:48:15,000 --> 00:48:19,000 আমার ফল এবং অ্যারের ভিতরে যেতে পেতে 899 00:48:19,000 --> 00:48:21,000 বস্তুর সংশ্লিষ্ট প্রতিটি সারি যাও. 900 00:48:21,000 --> 00:48:24,000 যদি এই একটি স্ট্রিং, এখন আমি সেটিং করছি 901 00:48:24,000 --> 00:48:28,000 একটি স্ট্রিং টেক্সট সম্পত্তি. 902 00:48:28,000 --> 00:48:30,000 আমি অন্য একটি জিনিস করতে পারেন. 903 00:48:30,000 --> 00:48:32,000 আমি একটা কোষ প্রতিটি হ্যান্ডলার রেজিস্টার করতে পারেন, 904 00:48:32,000 --> 00:48:35,000 তাই যখন আমি এই কোষের প্রতিটি টোকা 905 00:48:35,000 --> 00:48:39,000 এই didSelectRowAtIndexPath, এই আমার জন্য বলা হবে না, 906 00:48:39,000 --> 00:48:42,000 তাই সহজভাবে এই নির্ধারণ করে এখন আমি সব ব্যবস্থা করতে সক্ষম কি 907 00:48:42,000 --> 00:48:46,000 যখন আপনি একটি কোষ, এবং টোকা আবার, আমরা যা কোষের চাপড় মেরে, গড়িয়ে ছিল ক্ষণস্থায়ী করছি 908 00:48:46,000 --> 00:48:50,000 যাতে আমরা আমাদের এই একই কোষের সমস্ত ইভেন্ট হ্যান্ডলার পুনরায় ব্যবহার করতে পারেন. 909 00:48:50,000 --> 00:48:53,000 >> আবার, এই সম্পর্কে কিছু iOS জন্য করছে. 910 00:48:53,000 --> 00:48:55,000 চলুন শুরু করা যাক অন্য বিরক্তিকর পপআপ প্রদর্শন 911 00:48:55,000 --> 00:48:59,000 যে সহজভাবে বলছেন যে যেখানে আপনি কিছু কিছু বাছাই করা 912 00:48:59,000 --> 00:49:04,000 যাও সারি বস্তু হবে. 913 00:49:04,000 --> 00:49:10,000 যখন আমি এই চালানোর জন্য, আমি এই সুন্দর টেবিল ভিউ আছে চলেছি 914 00:49:10,000 --> 00:49:14,000 এই ফলের জন্য প্রত্যেক এক সারি সাথে, এবং আমি যদি এক টোকা 915 00:49:14,000 --> 00:49:16,000 এটা আমাকে বলে কি ঘটেছে. 916 00:49:16,000 --> 00:49:21,000 জানার জন্য? 917 00:49:21,000 --> 00:49:24,000 এর একটি সামান্য বিট অ্যাপ্লিকেশন একটি আরো জটিল নির্মাণ করা যাক, 918 00:49:24,000 --> 00:49:28,000 ক্লিক করে আপনি টমেটো অবচিত হিসাবে হিসাবে অনেক বেশি হয়. 919 00:49:28,000 --> 00:49:31,000 storyboarding সম্পর্কে চমৎকার অংশ 920 00:49:31,000 --> 00:49:35,000 এটি পৃথকভাবে আমাদের নকশা পর্দা সাহায্য শুধুমাত্র যাচ্ছে না, 921 00:49:35,000 --> 00:49:38,000 এটি এটাও আমাদের সমগ্র অ্যাপ্লিকেশন গিঁট একসঙ্গে সাহায্য যাচ্ছে, 922 00:49:38,000 --> 00:49:42,000 ফলে অ্যাপ্লিকেশন আমরা বিল্ডিং হবেন এই চমৎকার খেলা খবর পাঠক, 923 00:49:42,000 --> 00:49:45,000 এবং তাই একাধিক পর্দা আছে যাচ্ছে, এবং এর তাই আসলে আমি উপস্থাপন করতে পারেন 924 00:49:45,000 --> 00:49:48,000 এই স্টোরিবোর্ডের একাধিক পর্দা প্রতিটি, 925 00:49:48,000 --> 00:49:52,000 এবং আমি জুম আউট এবং একটি উচ্চ স্তরের থেকে আমার অ্যাপ্লিকেশন দেখতে পারেন. 926 00:49:52,000 --> 00:49:55,000 >> যাতে একটি নতুন আমার স্টোরিবোর্ডের উপাদান ভিতরে তৈরি 927 00:49:55,000 --> 00:49:59,000 এটা এর ইন্টারফেস নির্মাতা ভিতরে সত্যিই সহজ. 928 00:49:59,000 --> 00:50:01,000 যদি আমি এই অন্য পর্দা যুক্ত করতে চান, যেমন, 929 00:50:01,000 --> 00:50:06,000 আমি প্রথম চিম্টি জুম যে আপেল ভালবাসে এত সঙ্গে জুম আউট করতে পারবেন, 930 00:50:06,000 --> 00:50:09,000 এবং এখানে নিচে আগে আমি একটি বাটন অনুসন্ধান 931 00:50:09,000 --> 00:50:12,000 এবং আমি একটি ড্র্যাগ এবং ড্রপ বাটন 932 00:50:12,000 --> 00:50:15,000 যদি আমি একটা নতুন পর্দায় তৈরি করতে চান, তবে শুধুমাত্র আমি আসলে ড্র্যাগ এবং ড্রপ করতে পারেন 933 00:50:15,000 --> 00:50:19,000 একটি সম্পূর্ণ দেখুন নিয়ামক, তাই যদি আমি এই বাছাই, এটা আবার এখানে টানা, 934 00:50:19,000 --> 00:50:23,000 অঁ্যা, অন্য পর্দা আছে, এবং তাই এখন এই একই স্টোরিবোর্ডের ফাইল ব্যবহার করে 935 00:50:23,000 --> 00:50:26,000 আমি আমার অ্যাপ্লিকেশন ভিতরে পর্দা সব আছে, এবং আমি জুম আউট করতে পারবেন 936 00:50:26,000 --> 00:50:28,000 এবং কিভাবে তারা জানায়. 937 00:50:28,000 --> 00:50:32,000 এই এখনো ইন্টারঅ্যাক্ট করা যাবে না. 938 00:50:32,000 --> 00:50:36,000 উপায় যার মাধ্যমে এইসব 2 পর্দা যোগাযোগ রাখবেন, আপনি সম্পর্ক নির্ধারণ করুন. 939 00:50:36,000 --> 00:50:39,000 আপনি মূলত এই পর্দায়, বলতে পারেন যখন আপনি এই বাটন টিপুন, 940 00:50:39,000 --> 00:50:42,000 আমি আপনাকে এই নতুন পর্দা যাও যাও উপর স্লাইড চান. 941 00:50:42,000 --> 00:50:44,000 তার মানে এই ধরণের মধ্যে সম্পর্ক আছে 942 00:50:44,000 --> 00:50:46,000  প্রথম এবং দ্বিতীয় পর্দায় পর্দায়. 943 00:50:46,000 --> 00:50:49,000 আপনি মূলত থেকে যে বাটন দ্বিতীয় পর্দায় একটি তীর করতে হবে 944 00:50:49,000 --> 00:50:53,000 বলে যে যখন আপনি এই বোতাম টিপুন যে আমি যেখানে যেতে চান. 945 00:50:53,000 --> 00:50:57,000 শুধু ভালো আমরা এবং ক্লিক যারা কারেন্টের সংজ্ঞায়িত টেনেছেন নিয়ন্ত্রণ 946 00:50:57,000 --> 00:51:01,000 আমরা একই জিনিস এইসব segues সংজ্ঞায়িত করতে যাচ্ছেন. 947 00:51:01,000 --> 00:51:05,000 >> আমরা যে জন্য একটি উদাহরণ, এবং দেখতে হবে আগে আমরা আসলে রূপান্তরটি 948 00:51:05,000 --> 00:51:08,000 iOS থেকে এক পর্দা অন্য একটি চমৎকার যথেষ্ট এই পদ্ধতি কল 949 00:51:08,000 --> 00:51:11,000 বলা prepareForSegue, এবং এই যেখানে আমরা শুরু করতে পারেন 950 00:51:11,000 --> 00:51:14,000 তথ্য থেকে একটি অ্যাপ্লিকেশন অন্য পাঠানো. 951 00:51:14,000 --> 00:51:17,000 আমরা উদাহরণে সম্পর্কে করছি এটি তাকান মূলত অনুমতি দিতে হবে আমাদের 952 00:51:17,000 --> 00:51:20,000 যাও লিগ এবং বিভাগ দ্বারা বেসবল দল ফিল্টার. 953 00:51:20,000 --> 00:51:23,000 উদাহরণস্বরূপ, যখন আমি একটি লীগ নির্বাচন,, আমি চাই রূপান্তর 954 00:51:23,000 --> 00:51:25,000 আমার পরবর্তী পর্দায় যেখানে আমি সব বিভাগ প্রদর্শন করতে পারেন 955 00:51:25,000 --> 00:51:27,000 যে সব লীগ বা বিভিন্ন দল. 956 00:51:27,000 --> 00:51:31,000 আমি যে পর্দা প্রদর্শন হওয়া উচিত আপনি কি দল পাঠাতে প্রয়োজন. 957 00:51:31,000 --> 00:51:35,000 না যে আমি এই পদ্ধতি সুবিধা গ্রহণ করতে যাচ্ছি এখানে. 958 00:51:35,000 --> 00:51:39,000 >> অবশেষে, শুধুমাত্র একটি iOS উপর র্যান্ডম বিন্দু. 959 00:51:39,000 --> 00:51:41,000 আপনি যদি তথ্য সঞ্চয় করতে চান এই জিনিস বলা কোর তথ্য আছে, 960 00:51:41,000 --> 00:51:44,000 যা আসলে সঙ্গে কাজ জটিল ধরনের. 961 00:51:44,000 --> 00:51:47,000 এছাড়াও আপনি এসকিউএল যাও তথ্য সঞ্চয় ব্যবহার করতে পারেন, 962 00:51:47,000 --> 00:51:51,000 যা আবার,, আরো জটিল দিকে থাকে কিন্তু চমৎকার ধরনের সঙ্গে কাজ করতে, 963 00:51:51,000 --> 00:51:55,000 কিন্তু এই সমর্থন iOS সত্যিই শীতল বলা সম্পত্তির তালিকা জিনিষ, 964 00:51:55,000 --> 00:52:00,000 সম্পত্তি এবং একটি তালিকা শুধুমাত্র একটি ফাইল যে কী মান জোড়া প্রতিনিধিত্ব করে. 965 00:52:00,000 --> 00:52:03,000 আপনি কি 'র তালিকা, সংজ্ঞায়িত এবং আপনি যা বলছেন তা এই কি দ্বারা একটি অ্যারের হবে. 966 00:52:03,000 --> 00:52:06,000 এই কি দ্বারা একটি পংক্তি নির্মিত হবে, এবং হয় মূলত কিছু আপনি করতে পারেন 967 00:52:06,000 --> 00:52:10,000 JSON আপনাকে একটি সম্পত্তি তালিকা ভিতর করতে পারেন, 968 00:52:10,000 --> 00:52:14,000 এবং তাই এই আমাদের কিছু তথ্য এর সাথে কাজ করা সত্যিই চমত্কার করতে পারবেন. 969 00:52:14,000 --> 00:52:18,000 উদাহরণস্বরূপ, আমি এই Teams.plist যে আমি তৈরি আছে. 970 00:52:18,000 --> 00:52:22,000 আমি একটি নতুন ফাইল তৈরি plist, এবং আমি নিচে কসরত করতে পারেন. 971 00:52:22,000 --> 00:52:26,000 এটি একটি অভিধান, এই একটি অভিধান, এই পংক্তি, 972 00:52:26,000 --> 00:52:30,000 এবং তাই এই একটি চমৎকার একটি JSON ডকুমেন্টের গ্রাফিকাল উপস্থাপনা 973 00:52:30,000 --> 00:52:33,000 বা ঠিক কী মান জোড়া একটি সেট, 974 00:52:33,000 --> 00:52:37,000 এবং তাই এই তথ্য যে আমি আমার অ্যাপ্লিকেশন ভিতর দিয়ে কাজ হবে. 975 00:52:37,000 --> 00:52:40,000 >> যাক এর উপর প্রথম এখানে আসা. আমরা এখন অনেক বেশি ফাইল আছে. 976 00:52:40,000 --> 00:52:44,000 কিন্তু যাক এর প্রথম স্টোরিবোর্ডের আসা এখানে বেশী. 977 00:52:44,000 --> 00:52:48,000 স্টোরিবোর্ডের এখানে যদি আমি জুম আউট করতে পারেন- 978 00:52:48,000 --> 00:52:51,000 আমরা এখন দেখতে পাবেন যে, এই হল আমার অ্যাপ্লিকেশন প্রবাহ. 979 00:52:51,000 --> 00:52:53,000 আমি প্রথম করছি এই পর্দায় শুরু হতে চলেছে. 980 00:52:53,000 --> 00:52:55,000 আমি এই পর্দায় নিচে কসরত চলেছি, 981 00:52:55,000 --> 00:52:58,000 এবং আমি এই পর্দায় নিচে কসরত যাচ্ছে, এবং না আমরা এখানে দেখতে পারেন যে যদি আমি ধরনের 982 00:52:58,000 --> 00:53:04,000 আর এইসব প্রায় আমরা এই তীর থেকে এখানে এখানে আছে যাচ্ছে সরাতে, 983 00:53:04,000 --> 00:53:08,000 এবং আমি যে ভাবে সংজ্ঞায়িত তীর ছিল যদি আমি কিছুক্ষন জুম, 984 00:53:08,000 --> 00:53:12,000 এবং যদি আমি এই দৃশ্য নিয়ামক আসতে উপর, 985 00:53:12,000 --> 00:53:16,000 এবং এখানে একটা কোষ, এবং আমি বলতে চাই যে যখন আপনি একটি কোষ টোকা 986 00:53:16,000 --> 00:53:18,000 আমি আপনাকে অন্য পর্দা যাও যাও উপর স্লাইড চান. 987 00:53:18,000 --> 00:53:21,000 আমি সহজভাবে রাখা নিয়ন্ত্রণ বাড়তেও পারে, 988 00:53:21,000 --> 00:53:26,000 একটি সামান্য বিট উপর স্ক্রল, নিয়ন্ত্রণ কমিয়ে রাখতে, এই কক্ষের উপর টেনে আনুন এবং চলুন. 989 00:53:26,000 --> 00:53:30,000 >> এবং আমরা এখানে উপর বলতে কি আপনি যে রূপান্তরটি করতে ব্যবহার করতে চান? 990 00:53:30,000 --> 00:53:32,000 আপনি কি যে জিনিস যে ধাক্কা নামক স্লাইড এর ব্যবহার করতে চান? 991 00:53:32,000 --> 00:53:34,000 আপনি কি নিচ থেকে স্লাইড উপরে করতে চান? 992 00:53:34,000 --> 00:53:36,000 যে মোডাল নামে এর. 993 00:53:36,000 --> 00:53:40,000 এবং আমি একবার এই এক ক্লিক করুন, এটা আমার জন্য এই তীর আঁকা যাচ্ছে, 994 00:53:40,000 --> 00:53:44,000 এবং তার মানে তাদের আসলে আমি নাড়াচাড়া করেছি কি আমি যখন এই বোতাম graphically টিপুন. 995 00:53:44,000 --> 00:53:48,000 আমি আসলে এক পর্দা থেকে পরবর্তী এক স্লাইড কোনো কোড বার লিখুন না. 996 00:53:48,000 --> 00:53:51,000 আমি সংজ্ঞায়িত এই চাক্ষুষরূপে ইন্টারফেস নির্মাতা ভেতরে. 997 00:53:51,000 --> 00:53:55,000 যদি আমি এই তীর ক্লিক করুন, আমরা যে আমি দিয়েছিলেন একটি নামের এই জিনিস দেখতে পারেন. 998 00:53:55,000 --> 00:53:59,000 আমি বলা showDivisions এটি, এবং এটি যাতে আমি জানতে পারেন 999 00:53:59,000 --> 00:54:03,000 কি স্থানান্তর হতে পারে সম্পর্কে, এবং আমরা কেন ঠিক এক সেকেন্ড দেখতে পাবেন. 1000 00:54:03,000 --> 00:54:06,000 এটা কিভাবে আমি আমার অ্যাপ্লিকেশন বিভিন্ন পর্দা তারযুক্ত আপ করেছি. 1001 00:54:06,000 --> 00:54:09,000 যদি এই ছিল একটি বাটন, উদাহরণস্বরূপ, বরং একটি টেবিল ভিউ, 1002 00:54:09,000 --> 00:54:11,000 আমি বাটন ক্লিক করুন এবং নিয়ন্ত্রণ, পরবর্তী পর্দায় উপর টেনে আনতে পারে, 1003 00:54:11,000 --> 00:54:16,000 এবং যে কিভাবে আমি গৌণ যে ভাবে করতে পারেন. 1004 00:54:16,000 --> 00:54:19,000 >> সত্যিই দ্রুত, যদি আমরা MasterViewController হয়ে ওঠা, 1005 00:54:19,000 --> 00:54:22,000 আবার, কেবল আমরা একটা তালিকা সংজ্ঞায়িত করছি যাচ্ছে 1006 00:54:22,000 --> 00:54:26,000 যে টেবিল ভিউ প্রদর্শিত হবে. 1007 00:54:26,000 --> 00:54:29,000 এখানে আমি যে plist ফাইলটি নিয়ে যেতে বলছে করছি, 1008 00:54:29,000 --> 00:54:32,000 এবং আমি আপনাকে এটি লোড করতে একটি অভিধান মধ্যে আপ করতে চান, 1009 00:54:32,000 --> 00:54:35,000 এবং আপনি যে একবার অভিধান আছে, আমি আবার ঐ একই প্রশ্নের উত্তর যাচ্ছি. 1010 00:54:35,000 --> 00:54:37,000 এখানে বিভাগের নম্বর. 1011 00:54:37,000 --> 00:54:41,000 এক, প্রত্যেক লিগের জন্য এক সারি, এবং প্রতিটি কক্ষের পাঠ্য আছে 1012 00:54:41,000 --> 00:54:46,000 প্রথম এক হয়, প্রথম লীগ, দ্বিতীয় লীগ, এবং তাই করা উচিত. 1013 00:54:46,000 --> 00:54:51,000 অবশেষে, আমি এই পদ্ধতি যে শুধু আমরা prepareForSegue নামক SAW ব্যবহার করতে যাচ্ছি, 1014 00:54:51,000 --> 00:54:54,000 এবং এই পদ্ধতি যে বহিস্কার করা যাচ্ছে যখন আমি এর ক্লিক করুন 1015 00:54:54,000 --> 00:54:57,000 ঐ এক সারি এবং সেইজন্য যে রূপান্তরটি সক্রিয় 1016 00:54:57,000 --> 00:54:59,000 যে আমি তীরযুক্ত সেট আপ করুন. 1017 00:54:59,000 --> 00:55:02,000 এই যে আমি একাধিক থাকতে পারে না বলছে 1018 00:55:02,000 --> 00:55:05,000 সর্ম্পকগুলি থেকে এক পর্দা অন্য যাও. 1019 00:55:05,000 --> 00:55:08,000 যদি আমি 2 বোতাম আছে এবং প্রতিটি বোতাম একটি ভিন্ন পর্দায় নিয়ে যাওয়া হবে 1020 00:55:08,000 --> 00:55:10,000 আমি প্রতিটি বোতাম জন্য 2 segues, 1 আছে যাচ্ছি. 1021 00:55:10,000 --> 00:55:14,000 কিন্তু এই prepareForSegue হল আবার, চালু করা হবে পুনঃব্যবহৃত যাও 1022 00:55:14,000 --> 00:55:17,000 বিভিন্ন সম্পর্কের প্রতি জন্য, যাতে এর মানে হল যে আমি একটি উপায় প্রয়োজন 1023 00:55:17,000 --> 00:55:21,000 এর চিহ্নিতকরণের যদি আপনি প্রথম বাটন টিপুন অথবা আপনি দ্বিতীয় বাটন টিপুন. 1024 00:55:21,000 --> 00:55:25,000 >> যখন আমি একটি নাম দিয়েছি, এই showDivisions segue মনে রাখুন যে, 1025 00:55:25,000 --> 00:55:29,000 যে কিভাবে এখন আমি জানি যে এই segue যে সক্রিয় ছিল. 1026 00:55:29,000 --> 00:55:32,000 সমস্ত আমি কি চাই আমি বলতে চাই 1027 00:55:32,000 --> 00:55:35,000 আমি জিনিসটা কি আমি আঘাত করতে চান, 1028 00:55:35,000 --> 00:55:38,000 এবং তা যে পেতে, আমি নির্বাচিত সারি জন্য indexPath চান বলতে পারেন, 1029 00:55:38,000 --> 00:55:42,000 indexPath মনে রাখবেন শুধু বলেছেন যেখানে শুধু আমি ক্লিক, 1030 00:55:42,000 --> 00:55:47,000 এবং তারপর আমি আমি জিনিসটা যেখানে আমি যাচ্ছি চান বলতে চাই. 1031 00:55:47,000 --> 00:55:50,000 এই destinationViewController, যে segue একটি সম্পত্তি. 1032 00:55:50,000 --> 00:55:53,000 যে পর্দা আমি চলেছি, 1033 00:55:53,000 --> 00:55:56,000 তাই আমি জানি যে পর্দা আমি যাচ্ছি DivisionsViewController বলা হয় 1034 00:55:56,000 --> 00:55:59,000 কারণ আমি যে বর্গ তৈরি, 1035 00:55:59,000 --> 00:56:02,000 এবং তাই এখন যদি আমি বলতে d.divisions 1036 00:56:02,000 --> 00:56:06,000 আমি এখন করছি দেখুন নিয়ামক আমি যেতে সম্পর্কে একটি সম্পত্তি সেটিং. 1037 00:56:06,000 --> 00:56:10,000 এই ভাবে আমি এক স্ক্রীন থেকে তথ্য প্রেরণ করছি অন্য পর্দায়. 1038 00:56:10,000 --> 00:56:13,000 >> এই DivisionsViewController এ শুধু খুঁজছি 1039 00:56:13,000 --> 00:56:16,000 আপনি এখানে দেখতে পারেন যে. জ ফাইল 1040 00:56:16,000 --> 00:56:20,000 যে সম্পত্তি বিভাগ আছে, এবং তাই মূলত আমি পূর্ণ করছি, 1041 00:56:20,000 --> 00:56:25,000 যাতে কিভাবে আমি জানি আমি বিভাগ প্রভৃতি প্রদর্শন করা হবে 1042 00:56:25,000 --> 00:56:28,000 লীগ যে আমি ক্লিক করেন, এবং আবার, 1043 00:56:28,000 --> 00:56:31,000 প্রকৃত টেবিল ভিউ অনেক সুন্দর দেখায় একই, শুধু যারা উত্তর 1044 00:56:31,000 --> 00:56:34,000 3 সাধারণ প্রশ্ন হিসেবে চিহ্নিত 1045 00:56:34,000 --> 00:56:37,000 যখন আপনি পরবর্তী ধাপে অগ্রসর না কি. 1046 00:56:37,000 --> 00:56:40,000 শুধু এখানে অন্যান্য জিনিস এক দম্পতি. 1047 00:56:40,000 --> 00:56:43,000 আপনি উপরের যে এখানে বিজ্ঞপ্তি বদলে বলছে # অন্তর্ভুক্ত 1048 00:56:43,000 --> 00:56:45,000 আমি এখন করছি বলছে # ইম্পোর্ট. 1049 00:56:45,000 --> 00:56:47,000 এটি শুধু একটি Objective-C জিনিস. 1050 00:56:47,000 --> 00:56:52,000 ইম্পোর্ট মূলত একটি অন্তর্ভুক্ত রয়েছে nicer সংস্করণ, 1051 00:56:52,000 --> 00:56:57,000 এবং উদাহরণস্বরূপ, আমরা কি এই শ্রেণী জানা প্রয়োজন, 1052 00:56:57,000 --> 00:57:00,000 তাই আমি DivisionsViewController না বলতে পারেন. 1053 00:57:00,000 --> 00:57:05,000 যদি আমরা আমাদের. গ ফাইলের standardio.c ভিতরে হ্যাশট্যাগ না 1054 00:57:05,000 --> 00:57:07,000 কম্পাইলার কোন ধারণা ছিল কি printf ছিল. 1055 00:57:07,000 --> 00:57:12,000 একইভাবে, যদি আমি DivisionsViewController আমদানি না 1056 00:57:12,000 --> 00:57:16,000 কম্পাইলার সত্যিই কোন ধারণা কি একটি DivisionsViewController হয় আছে. 1057 00:57:16,000 --> 00:57:19,000 শুধু নিশ্চিত যে আপনার ভিন্ন. মি ফাইলের ভিতরে আপনি করতে আমদানি নিশ্চিত করুন 1058 00:57:19,000 --> 00:57:25,000 অনুরূপ. জ ফাইল যাতে কম্পাইলার জানেন কি করছেন. 1059 00:57:25,000 --> 00:57:31,000 >> অবশেষে, পরিণামে কি আপেল না হয় কিছু একটা ওয়েব ব্যবহার করে দেখুন তথ্য প্রদর্শন, 1060 00:57:31,000 --> 00:57:35,000 এবং তাই একটি ওয়েব দেখুন একটি বস্তু যা আপনি এম্বেড করতে পারেন 1061 00:57:35,000 --> 00:57:37,000 একটু আপনার অ্যাপ্লিকেশন ভিতরে ওয়েব ব্রাউজার. 1062 00:57:37,000 --> 00:57:40,000 সমস্ত আপনাকে আপনার ওয়েব ব্রাউজারে একটি URL টি সরবরাহ, 1063 00:57:40,000 --> 00:57:43,000 তাই আমি mlb.mlb.com যেতে চান, 1064 00:57:43,000 --> 00:57:46,000 এবং এই ভাবে আমি প্রতিটি দলের জন্য হোম পেজে অ্যাক্সেস করতে পারেন, 1065 00:57:46,000 --> 00:57:49,000 এবং তাই এই URL-এ ক্ষণস্থায়ী 1066 00:57:49,000 --> 00:57:52,000 ওয়েব দেখুন সম্পর্কে এই জন্য, এবং প্রদর্শন করতে পারেন আমি প্রায় ব্রাউজ করতে পারেন, 1067 00:57:52,000 --> 00:58:01,000 এবং যে এক দ্বারা ব্যবহার করা হয় কাল্পনিক. 1068 00:58:01,000 --> 00:58:03,000 এখন এই আমার plist থেকে এসেছিলেন. 1069 00:58:03,000 --> 00:58:07,000 যদি আমি এই ক্লিক করুন এই এছাড়াও আমার plist থেকে এসেছেন, এবং এই সহচরী ঘাঁটা ছিল 1070 00:58:07,000 --> 00:58:09,000 দ্বারা যারা segues সংজ্ঞা. 1071 00:58:09,000 --> 00:58:12,000 আমি এই ক্লিক করুন এবং একটি আরো, 1072 00:58:12,000 --> 00:58:15,000 এবং এখানে এখন তাই ঠিক সেই মতো আমার UIWebView, 1073 00:58:15,000 --> 00:58:19,000 এখানে URL এর জন্য ওয়েবসাইট, যা শুধু আমি এম্বেড করা, 1074 00:58:19,000 --> 00:58:21,000 এবং আমি কিছু ছবি হ্যান্ডেল করতে হত না. 1075 00:58:21,000 --> 00:58:24,000 এটি কিভাবে একটি ওয়েব পেজ প্রদর্শন. 1076 00:58:24,000 --> 00:58:27,000 এই বোতাম এখানে ভালো জিনিস সম্পর্কে আরও দেওয়া হয় 1077 00:58:27,000 --> 00:58:33,000 সম্পূর্ণই জন্য বিনামূল্যে কারণ আমি এই segues ব্যবহার সম্পর্ক সংজ্ঞায়িত করেছি. 1078 00:58:33,000 --> 00:58:37,000 >> কোন প্রশ্ন? হাঁ. 1079 00:58:37,000 --> 00:58:40,000 [ছাত্র] সুতরাং যখন আপনি alloc ব্যবহার, আপনি বিনামূল্যে কিছু আছে না? 1080 00:58:40,000 --> 00:58:43,000 ঠিক, যখন আপনি কল alloc এবং init আপনি এটি মুক্ত হবে না. 1081 00:58:43,000 --> 00:58:46,000 IOS আপনার জন্য যে সমস্ত হ্যান্ডেল করতে যাচ্ছে. 1082 00:58:46,000 --> 00:58:51,000 এটা বিস্ময়কর, এবং আপনি কোন নিয়ম ভঙ্গ করছি না. হাঁ. 1083 00:58:51,000 --> 00:58:54,000 [ছাত্র] যদি আপনি আরো দল যে পর্দায় দেখা যায়নি অন্তর্ভুক্ত ছিল, 1084 00:58:54,000 --> 00:58:58,000 স্বয়ংক্রিয়ভাবে এটি একটি স্ক্রোল বিকল্প আছে, হবে অথবা যে কোন কিছু যা আপনি যুক্ত করার প্রয়োজন? 1085 00:58:58,000 --> 00:59:01,000 ঠিক, উদাহরণস্বরূপ যদি আমি আরো দল ছিল,, এটি স্বয়ংক্রিয়ভাবে হ্যান্ডেল করবে 1086 00:59:01,000 --> 00:59:04,000 সম্পর্কে জন্য স্ক্রল করে, এবং সমস্ত কর্মক্ষমতা উদ্বেগ 1087 00:59:04,000 --> 00:59:08,000 বিশাল টেবিলের সাথে সম্পর্কে জন্য সম্পূর্ণভাবে ঘাঁটা. 1088 00:59:08,000 --> 00:59:11,000 >> অন্য প্রশ্ন? 1089 00:59:11,000 --> 00:59:13,000 এই কোড সকল পোস্ট করা যাচ্ছে. 1090 00:59:13,000 --> 00:59:16,000 আমরা আরো একটি গৌণ বিবরণ সামান্য বিট উপর ধরনের glossed, 1091 00:59:16,000 --> 00:59:19,000 কিন্তু সেটা আর ভালো ওয়েব দৃশ্য কিছু বৈশিষ্ট্য নির্ধারণের 1092 00:59:19,000 --> 00:59:22,000 শুধু যে আপনি আপেল এর ডকুমেন্টেশন ব্রাউজ করে পেতে পারেন, 1093 00:59:22,000 --> 00:59:24,000 যা সত্যিই সত্যিই, চমত্কারভাবে পরিপূর্ণ. 1094 00:59:24,000 --> 00:59:27,000 তারা নমুনা একটি অ্যাপ্লিকেশনের এবং অনেক উদাহরণ আছে ব্যবহারগুলির 1095 00:59:27,000 --> 00:59:34,000 বিভিন্ন API সমূহ, যাতে স্পষ্টভাবে আপনি করতে পারেন যদি সেই পড়া. 1096 00:59:34,000 --> 00:59:36,000 শুধু কিছু সহায়ক লিঙ্ক কটাক্ষপাত আপনি চাইবেন. 1097 00:59:36,000 --> 00:59:38,000 এগুলি কিছু কুশলী ডকুমেন্টেশন গাইড. 1098 00:59:38,000 --> 00:59:41,000 URL গুলি বৃহদায়তন হয়, যাতে তারা কমান করছি. 1099 00:59:41,000 --> 00:59:44,000 এই প্রথম একটি ডকুমেন্টেশন সমগ্র লাইব্রেরী. 1100 00:59:44,000 --> 00:59:46,000 একটু অনুসন্ধান বার নেই, সুতরাং আপনি যদি টাইপ বোতাম শুরু 1101 00:59:46,000 --> 00:59:50,000 এটি প্রদান সমস্ত সমস্ত জিনিষ আপনি একটি বাটন করতে পারেন সম্পর্কে তথ্য আপনি শুরু হবে. 1102 00:59:50,000 --> 00:59:53,000 আমি করেছি টেবল দেখুন প্রোগ্রামিং গাইড অন্তর্ভুক্ত. 1103 00:59:53,000 --> 00:59:56,000 এটা আরো অনেক বিষদভাবে টেবিল দেখা হ্যান্ডলগুলি, 1104 00:59:56,000 --> 01:00:00,000 কিভাবে জিনিষ ভালো পরিবর্তনশীল কোষ বা সম্পাদনা কোষ বা যোগ অথবা অপসারণ করতে. 1105 01:00:00,000 --> 01:00:02,000 >> অ্যাপল থেকে অনেক নমুনা Apps এর যে আপনি কিভাবে যে কি হবে আছে, 1106 01:00:02,000 --> 01:00:05,000 এবং পরিশেষে, এই শেষ হল হিউম্যান ইন্টারফেস গাইডলাইনস, 1107 01:00:05,000 --> 01:00:09,000 এবং এই মূলত UI উপাদান কিছু আলোচনা, 1108 01:00:09,000 --> 01:00:12,000 ভালো জিনিস একটি বাটন যে 4 পিক্সেল 4 পিক্সেল করবেন না. 1109 01:00:12,000 --> 01:00:15,000 এটা একটা খারাপ ধারণা, এবং অন্যান্য জিনিসের আপেল যে কি চায় 1110 01:00:15,000 --> 01:00:18,000 ভাল ডিজাইন করার জন্য উত্সাহিত করি. 1111 01:00:18,000 --> 01:00:23,000 >> কোন শেষ প্রশ্ন করার আগে আমরা শেষ পর্যন্ত? 1112 01:00:23,000 --> 01:00:27,000 সমস্ত অধিকার স্পষ্টভাবে, মুক্ত আলোচনা করতে বিশেষ লেবেল থাকতে যাচ্ছে-we're বোধ. 1113 01:00:27,000 --> 01:00:30,000 আমরা একটি iOS আছে করব, যাতে স্পষ্টভাবে যে ব্যবহার করতে পারেন বোধ. 1114 01:00:30,000 --> 01:00:34,000 আপনি যদি আপনার সহপাঠীদের সঙ্গে প্রকল্পে কাজ করতে চান 1115 01:00:34,000 --> 01:00:37,000 সাহায্য বা কিছু র্যান্ডম iOS স্টাফ চিত্র আউট 1116 01:00:37,000 --> 01:00:40,000 আমাকে নির্দ্বিধায় ইমেল, এবং স্পষ্টভাবে সমস্ত কোড অনলাইন কারণ পুঙ্খানুপুঙ্খরূপে পরীক্ষা করা 1117 01:00:40,000 --> 01:00:43,000 ঠিক সময় আগ্রহের মধ্যে আমরা আরো বেশী ধরনের glossed 1118 01:00:43,000 --> 01:00:45,000 জিনিষ তীক্ষ্ণ স্বরূপ খসখসে বিবরণ. 1119 01:00:45,000 --> 01:00:47,000 কিন্তু যদি না থাকে, তাহলে আপনার iOS প্রকল্পে সৌভাগ্য, এবং আমি আশা করি আমরা আছে 1120 01:00:47,000 --> 01:00:53,000 একটি অ্যাপ্লিকেশনের বড় অ্যাপ স্টোর মধ্যে অন্তঃপ্রবাহ. 1121 01:00:53,000 --> 01:00:56,000 [CS50.TV]