উদ্দেশ্য উত্তর- আপনি লার্নিং কোকো বইটি জানতে পারেন (আইএসবিএন: 978-1-491-90139-7)
মডিউলগুলি আপনার প্রকল্পগুলিতে ফাইল এবং লাইব্রেরিগুলি যুক্ত এবং যুক্ত করার একটি নতুন মাধ্যম। মডিউলগুলি কীভাবে কাজ করে এবং তাদের কী কী সুবিধা রয়েছে তা বোঝার জন্য, অবজেক্টিভ-সি এবং # গুরুত্বপূর্ণ বিবরণীর ইতিহাসের দিকে ফিরে তাকাতে হবে যখনই আপনি ব্যবহারের জন্য কোনও ফাইল অন্তর্ভুক্ত করতে চান, আপনার কাছে সাধারণত কিছু কোড থাকে যা দেখতে এরকম দেখায়:
#import "someFile.h"
বা ফ্রেমওয়ার্কের ক্ষেত্রে:
#import <SomeLibrary/SomeFile.h>
যেহেতু অবজেক্টিভ-সি হ'ল সি প্রোগ্রামিং ভাষার একটি সুপারস্টেট, সি-এর #includeবক্তব্যটির পরে # ইম্পোর্ট স্টেট মেন্ট একটি সামান্য পরিশোধন । # অন্তর্ভুক্ত বিবৃতি খুব সহজ; এটি সংকলনের সময় অন্তর্ভুক্ত করা ফাইলটিতে এটি খুঁজে পাওয়া সমস্ত কিছু অনুলিপি করে। এটি কখনও কখনও উল্লেখযোগ্য সমস্যা তৈরি করতে পারে। উদাহরণস্বরূপ, কল্পনা করুন যে আপনার দুটি হেডার ফাইল রয়েছে: SomeFileA.hএবং SomeFileB.h; SomeFileA.hঅন্তর্ভুক্ত SomeFileB.h, এবং SomeFileB.hঅন্তর্ভুক্ত SomeFileA.h। এটি একটি লুপ তৈরি করে এবং কোম্পেলারকে বিভ্রান্ত করতে পারে। এটি মোকাবেলা করতে, সি প্রোগ্রামারদের এই ধরণের ঘটনা ঘটাতে থেকে রক্ষা করতে হবে।
ব্যবহার করার সময় #import, আপনার এ সমস্যাটি নিয়ে মাথা ঘামানোর দরকার নেই বা এড়াতে শিরোনাম রক্ষীদের লেখার দরকার নেই। তবে, #importএটি এখনও কেবল একটি গৌরবযুক্ত অনুলিপি-অনুলিপি কর্ম যা অন্য ছোট কিন্তু এখনও খুব বিপজ্জনক ইস্যুগুলির মধ্যে ধীরে ধীরে সংকলনের সময় সৃষ্টি করে (যেমন একটি অন্তর্ভুক্ত ফাইল যা আপনি নিজের কোডে অন্য কোথাও ঘোষণা করেছেন over
মডিউলগুলি এটির কাছাকাছি যাওয়ার চেষ্টা। তারা আর সোর্স কোডের অনুলিপি-পেস্ট হয় না, তবে অন্তর্ভুক্ত ফাইলগুলির একটি ক্রমিক প্রতিনিধিত্ব করে যেগুলি যখন আপনার প্রয়োজন হয় কেবল তখন এবং যেখানে আপনার উত্স কোডে আমদানি করা যায়। মডিউলগুলি ব্যবহার করে, কোডটি সাধারণত দ্রুত সংকলন করবে এবং # অন্তর্ভুক্ত বা ব্যবহার না করেই নিরাপদ হবে #import।
কাঠামো আমদানির আগের উদাহরণটিতে ফিরে আসা:
#import <SomeLibrary/SomeFile.h>
এই লাইব্রেরিটিকে মডিউল হিসাবে আমদানি করতে কোডটি এতে পরিবর্তন করা হবে:
@import SomeLibrary;
এতে সামোরিব্রেরি কাঠামোটিকে স্বয়ংক্রিয়ভাবে প্রকল্পের সাথে সংযুক্ত করার জন্য এক্সকোডের যুক্ত বোনাস রয়েছে। মডিউলগুলি আপনাকে কেবলমাত্র আপনার প্রকল্পে প্রয়োজনীয় উপাদানগুলি অন্তর্ভুক্ত করার অনুমতি দেয়। উদাহরণস্বরূপ, আপনি যদি আশ্চর্যজনক লাইব্রেরি ফ্রেমওয়ার্কে আশ্চর্যজনক অবজেক্ট উপাদানটি ব্যবহার করতে চান তবে সাধারণত আপনাকে কেবল এক টুকরো ব্যবহার করার জন্য সমস্ত কিছু আমদানি করতে হবে। যাইহোক, মডিউলগুলি ব্যবহার করে, আপনি যে নির্দিষ্ট অবজেক্টটি ব্যবহার করতে চান তা কেবল আমদানি করতে পারেন:
@import AwesomeLibrary.AwesomeObject;
এক্সকোড 5 এ তৈরি সমস্ত নতুন প্রকল্পের জন্য, মডিউলগুলি ডিফল্টরূপে সক্ষম হয়। আপনি যদি পুরানো প্রকল্পগুলিতে মডিউল ব্যবহার করতে চান (এবং আপনার সত্যিকারের উচিত) তাদের প্রকল্পের বিল্ড সেটিংসে সক্ষম করতে হবে। একবার আপনি এটি করেন, আপনি কোনও উদ্বেগ ছাড়াই আপনার কোডে উভয় #importএবং @importবিবৃতি একসাথে ব্যবহার করতে পারেন ।