iphone ভিউএইচএপিপিয়ারের মধ্যে পার্থক্য কী ?: এবং-উইউডডাইপএপিয়ার:?



ios 11 download (8)

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

https://ffff65535.com

এর মধ্যে পার্থক্য কি -[UIViewController viewWillAppear:] এবং -[UIViewController viewDidAppear:] ?


1) ViewWillAppear : দৃশ্যটি প্রকৃতপক্ষে মেমরিতে লোড হয়েছে, একবার ভিউ কন্ট্রোলারের মধ্যে বলা হয়েছে এবং তার ফ্রেম ছিল তবে এখনও ব্যবহারকারীর কাছে উপস্থিত হয়নি

2) ViewDidAppear : কন্ট্রোলার ভিউ হায়ারারিতে যোগ করা হয়েছে, তাই আপনি পরবর্তী নিয়ামককে উপস্থাপন করতে পারেন, এছাড়াও, ভিউটি সাবউইউউকে সজ্জিত করেছে


দৃশ্যটি উপস্থিত হওয়ার পূর্বে পূর্বটি ঘটবে এবং পরে পরবর্তীটি ঘটবে।


ভিউ লোড করার পূর্বে ভিউ লোড করবে যাতে আপনি সেই ভিউটি লোড করার আগে কিছু নির্দিষ্ট কাজ করতে পারেন এবং ভিউডাইডআপ ভিউ লোড করার পরে কল করবে যাতে পোস্ট টাস্কটি সেই পদ্ধতিতে সম্পন্ন হয়।


সাধারণভাবে, আমি যা করি তা হল:

1) ViewDidLoad - যখনই আমি একটি দৃশ্যতে নিয়ন্ত্রণ যুক্ত করছি যা দৃশ্যের সাথে একত্রে উপস্থিত হওয়া উচিত, ঠিক আছে, আমি এটি ভিউডডলড পদ্ধতিতে রাখি। মূলত এই পদ্ধতি যখন মেমরি লোড করা হয় বলা হয়। উদাহরণস্বরূপ, যদি আমার দৃষ্টিভঙ্গি 3 লেবেল সহ একটি ফর্ম, তবে আমি এখানে লেবেল যুক্ত করব; দৃশ্য যারা ফর্ম ছাড়া বিদ্যমান হবে না।

2) ViewWillAppear : সাধারণত আমি ফর্মটি ডেটা হালনাগাদ করতে ভিউ উইল অ্যাপ্পায়ার ব্যবহার করি। সুতরাং, উপরের উদাহরণের জন্য, আমি আসলে আমার ডোমেনের ফর্মটি ফর্মটিতে লোড করতে এটি ব্যবহার করব। UIViews তৈরি করা মোটামুটি ব্যয়বহুল এবং ভিউ উইল অ্যাপ্পিয়ার পদ্ধতিতে এটি যতটা সম্ভব সম্ভব এড়ানো উচিত, এটি যখন বলা হয়, তখন আইফোনটি ব্যবহারকারীকে UIView দেখানোর জন্য ইতিমধ্যে প্রস্তুত, এবং এখানে যে কোনও ভারী কাজ করা আছে একটি খুব দৃশ্যমান পদ্ধতিতে কর্মক্ষমতা প্রভাবিত করবে (যেমন অ্যানিমেশন বিলম্বিত, ইত্যাদি)।

3) ViewDidAppear : অবশেষে, আমি নতুন থ্রেডগুলি যেগুলি চালানোর জন্য দীর্ঘ সময় লাগতে পারে সেগুলিতে নতুন থ্রেডগুলি বন্ধ করার জন্য ViewDidAppear ব্যবহার করি, উদাহরণস্বরূপ উপরের ফর্মটির জন্য অতিরিক্ত ডেটা পেতে একটি ওয়েবসেয়ার কল করা। ভাল জিনিস হল কারণ দেখুন ইতিমধ্যে বিদ্যমান এবং ব্যবহারকারীর কাছে প্রদর্শিত হচ্ছে, আপনি তথ্য পেতে সময় আপনি একটি চমৎকার "প্রতীক্ষা" বার্তা প্রদর্শন করতে পারেন।


viewWillAppear দেখায় viewWillAppear উপস্থিত হওয়ার আগেই ডাকা হয় এবং ভিউ প্রদর্শিত হওয়ার সময় viewDidAppear বলা হয়।


viewDidLoad === >>> এখানে আপনার প্রাথমিককরণ কোড রাখুন। দেখুন জীবনযাত্রার সময় পরিবর্তন হতে পারে যে গতিশীল তথ্য না। সুতরাং, যদি আপনি কোর ডেটা থেকে তথ্য টেনে আনছেন তবে আপনি এখানে এটি করতে চান না যদি এটি দৃশ্যের জীবনে পরিবর্তন হতে পারে। উদাহরণস্বরূপ: আপনি একটি ট্যাব নিয়ামক আছে বলুন। আপনি ট্যাব 1 থেকে ট্যাব 2 এ স্যুইচ করুন এবং ট্যাব 2 এ মডেলটিতে কিছু পরিবর্তন করুন। আপনি যদি ট্যাব 1 এ ফিরে আসেন এবং আপনার মডেল কোড ভিউ করা হয় তবে এটি আপডেট হবে না (অনুমান করছেন যে আপনি কেভিও বা NSFetchedResultsController ব্যবহার করছেন না বলে মনে করছেন)।

viewWillAppear === >>> এই দৃশ্যটি উপস্থিত হওয়ার সময় প্রতিবার বলা হয়, দৃশ্যটি ইতিমধ্যে মেমরিতে কিনা তা নাকি না। এখানে আপনার গতিশীল কোড রাখুন, যেমন মডেল লজিক।

viewDidAppear === >>> এখানে ব্যয়বহুল ক্রিয়াকলাপগুলি রাখুন যা আপনি যদি নিশ্চিত হন যে দৃশ্যটি অনস্ক্রীন, যেমন নেটওয়ার্ক কল, তবে আপনি কেবল তা করতে চান।

লক্ষ্য করুন: যদি আপনার অ্যাপ্লিকেশন ব্যাকগ্রাউন্ড হয় এবং ফোরামে ফিরে আসে তবে আপনাকে NSNotificationCenter ব্যবহার করে এটি পরিচালনা করতে হবে। আমি নীচের মন্তব্য যে জন্য কোড লিখেছেন। আপনি ভেবে দেখতে পারেন উইলএপিপিয়ার / ভিউডডিপিপার আগুনে পুড়ে যাবে। সেখানে একটি বিরতি পয়েন্ট রাখুন এবং এটি পরীক্ষা। এটা আগুন না। সুতরাং, যদি আপনার পটভূমিতে থাকা অবস্থায় আপনার অ্যাপ্লিকেশনের জন্য কিছু পরিবর্তন হয় তবে আপনাকে বিজ্ঞপ্তিগুলি ব্যবহার করে আপডেট করতে হবে।


viewWillAppear:
■ ভিউয়ের ভিউ প্যারামিটারে ভিউ যোগ করার আগে কল করা
■ [vc.view লেআউটউইউউউউউউস] আগে কল করা হয়েছে (যদি প্রয়োজন হয়)
viewDidAppear :
H ভিউ অনুক্রম যোগ করা হয় পরে কল
■ [vc.view লেআউটউইউউউউউউস] -এর পরে কল করা হয়েছে (যদি প্রয়োজন হয়)





ios