View Controller Lifecycle

Mobile App Development - আইওএস ডেভেলপমেন্ট (iOS) iOS অ্যাপ্লিকেশন আর্কিটেকচার |
158
158

iOS-এ View Controller Lifecycle একটি গুরুত্বপূর্ণ বিষয়, কারণ এটি নির্ধারণ করে একটি View Controller কিভাবে লোড, প্রদর্শন, এবং মেমোরি থেকে মুক্তি পায়। প্রতিটি ধাপে নির্দিষ্ট কিছু মেথড (function) কল করা হয় যা ডেভেলপারদের জন্য ভিউ কন্ট্রোলারের বিভিন্ন অবস্থা ট্র্যাক করতে এবং প্রয়োজন অনুযায়ী কাজ করতে সাহায্য করে।

View Controller Lifecycle এর ধাপসমূহ:

Initialization (init(coder:) বা init(nibName:bundle:)):

  • যখন একটি ভিউ কন্ট্রোলার তৈরি করা হয়, তখন এটি ইনিশিয়ালাইজ করা হয়।
  • এই ধাপে ভিউ কন্ট্রোলারের সাথে প্রয়োজনীয় সেটআপ বা প্রাথমিক ডেটা অ্যাসাইন করা যায়।

Loading the View (loadView):

  • loadView() মেথডটি কল করা হয় যখন ভিউ কন্ট্রোলারের ভিউ লোড করা হয়।
  • সাধারণত, এটি ডেভেলপার দ্বারা ওভাররাইড করা হয় না, কারণ ডিফল্টভাবে এটি Storyboard থেকে ভিউ লোড করে নেয়।
  • তবে যদি কোডের মাধ্যমে ভিউ তৈরি করতে চাও, তখন এটি কাস্টমাইজ করা যায়।

viewDidLoad:

  • ভিউ কন্ট্রোলারের ভিউ মেমোরিতে লোড হওয়ার পর এটি একবার কল করা হয়।
  • এখানে সাধারণত প্রাথমিক ভিউ সেটআপ, ডেটা ফেচিং, এবং UI উপাদান কনফিগার করা হয়।
  • এটি সাধারণত সবচেয়ে গুরুত্বপূর্ণ মেথড কারণ এটি ভিউ তৈরি হওয়ার পর UI সেটআপ করার জন্য ব্যবহার হয়।

viewWillAppear:

  • ভিউটি যখন স্ক্রিনে প্রদর্শিত হতে যাচ্ছে তখন এই মেথডটি কল করা হয়।
  • এটি প্রতিবার কল হয় যখন ভিউ স্ক্রিনে আসতে যাচ্ছে, তাই এখানে ভিউ বা ডেটা রিফ্রেশ করা যেতে পারে।

viewDidAppear:

  • ভিউটি স্ক্রিনে পুরোপুরি প্রদর্শিত হওয়ার পর এই মেথডটি কল করা হয়।
  • এখানে সাধারণত এনিমেশন শুরু করা বা ভিউ সম্পূর্ণ লোড হওয়ার পরের কাজগুলো করা হয়।

viewWillDisappear:

  • ভিউটি স্ক্রিন থেকে অদৃশ্য হওয়ার আগে এই মেথডটি কল করা হয়।
  • এখানে কোনো পেন্ডিং টাস্ক বা এনিমেশন বন্ধ করা যেতে পারে।

viewDidDisappear:

  • ভিউটি স্ক্রিন থেকে পুরোপুরি অদৃশ্য হওয়ার পর এই মেথডটি কল করা হয়।
  • এখানে সাধারণত মেমোরি ক্লিনআপ বা ভিউয়ের সাথে যুক্ত কিছু রিসোর্স রিলিজ করা হয়।

viewWillLayoutSubviews এবং viewDidLayoutSubviews:

  • viewWillLayoutSubviews(): ভিউয়ের লেআউট সাবভিউগুলো লেআউট হওয়ার আগে কল হয়।
  • viewDidLayoutSubviews(): সাবভিউ লেআউট হওয়ার পর কল হয়।
  • এখানে UI উপাদানের কাস্টম লেআউট বা অ্যানিমেশন করা যায়।

deinit:

  • ভিউ কন্ট্রোলার মেমোরি থেকে মুক্তি পেলে deinit মেথড কল করা হয়।
  • এখানে রিসোর্স মুক্ত করা বা NotificationCenter থেকে অবজারভার রিমুভ করা হয়।

একটি সাধারণ View Controller Lifecycle:

1. init(coder:) / init(nibName:bundle:)
2. loadView()
3. viewDidLoad()
4. viewWillAppear()
5. viewWillLayoutSubviews()
6. viewDidLayoutSubviews()
7. viewDidAppear()
8. viewWillDisappear()
9. viewDidDisappear()
10. deinit (if the view controller is removed from memory)

View Controller Lifecycle টিউটোরিয়াল টিপস:

  • Demo Project: একটি ছোট ডেমো প্রজেক্ট তৈরি করে দেখাতে পারো কিভাবে প্রতিটি মেথডে লজিক যুক্ত করা যায়।
  • Breakpoints: প্রতিটি লাইফসাইকেল মেথডে breakpoints ব্যবহার করে কোডের এক্সিকিউশন দেখা।
  • Animations & Cleanup: এনিমেশন চালানো এবং রিসোর্স রিলিজের মতো টাস্কগুলো কোথায় এবং কিভাবে করা হয় তা ব্যাখ্যা করা।

এইভাবে View Controller Lifecycle নিয়ে একটি বিস্তারিত টিউটোরিয়াল তৈরি করা যাবে। আর কোনো নির্দিষ্ট অংশ নিয়ে প্রশ্ন থাকলে জানিও!

Content added By
Promotion