viewDidLoad एक चीज है जो आपको एक बार करना है। व्यू विल्लएपियर हर बार दृश्य प्रकट होने पर बुलाया जाता है। आपको उन चीजों को करना चाहिए जो आपको देखने के लिए केवल एक बार करना है - डीडलोड - जैसे आपके यूलाबेल ग्रंथों को सेट करना। हालांकि, जब भी उपयोगकर्ता इसे देखने के लिए हर बार दृश्य के एक विशिष्ट भाग को संशोधित करना चाह सकता है, उदा। जब भी आप "नाऊ बजाना" दृश्य पर जाते हैं, तो आइपॉड एप्लिकेशन गीतों को शीर्ष पर वापस स्क्रॉल करता है।
हालांकि, जब आप किसी सर्वर से चीजें लोड कर रहे हैं, तो आपको विलंबता के बारे में भी सोचना होगा। यदि आप अपने सभी नेटवर्क संचार को डीडलोड या व्यूविल्लएपियर में पैक करते हैं, तो उपयोगकर्ता को देखने को देखने से पहले उन्हें निष्पादित किया जाएगा - संभवतः आपके ऐप का एक छोटा फ्रीज होता है। यह सबसे अच्छा विचार हो सकता है कि उपयोगकर्ता को किसी प्रकार के गतिविधि संकेतक के साथ एक अप्रचलित दृश्य दिखाएं। जब आप अपने नेटवर्किंग के साथ काम करते हैं, जिसमें दूसरा या दो (या यहां तक कि असफल भी हो सकता है - कौन जानता है?), तो आप अपने डेटा के साथ दृश्य को पॉप्युलेट कर सकते हैं। यह कैसे किया जा सकता है पर अच्छे उदाहरण विभिन्न ट्विटर ग्राहकों में देखा जा सकता है। उदाहरण के लिए, जब आप Twitterrific में लेखक विवरण पृष्ठ देखते हैं, तो दृश्य केवल नेटवर्क लोड होने तक "लोड हो रहा है ..." कहता है।
तो, व्यूविल्लएपियर के संभावित रूप से बार-बार कहा जा रहा है। अगर उस विधि को आग लगती है, उदाहरण के लिए, छुपाए जाने के बाद व्यू कंट्रोलर दृश्य दिखाई देता है (मेरा मतलब है कि यहां पर विचार किया गया है, UIView पर छिपी विधि नहीं)। किस स्केनेरियो में देखेंगे WillAppear को कॉलडोड देखने के लिए कॉल से पहले बिना बुलाया जा सकता है? – dugla
viewDidLoad केवल दृश्य के निर्माण के समय बुलाया जाता है - इसलिए उदाहरण के लिए दृश्य नियंत्रक initFromNibNamed कॉल के बाद दृश्य को एक्सेस किया जाता है। viewWillAppear को कभी भी आपका व्यू कंट्रोलर देखने में नहीं देखा जाता है लेकिन दृश्य में आता है - इसलिए जब आपका व्यू कंट्रोलर धक्का दिया जाता है, तो ViewWillAppear को कॉल किया जाता है। यदि आप वहां से एक और सबव्यूशन दबाते हैं, और उपयोगकर्ता लौटाता है, तो ViewWillAppear को फिर से बुलाया जाता है। –
धन्यवाद केंडल। हां, कुछ रणनीतिक रूप से स्थापित एनएसएलओजी ने मुझे हल किया। viewWillAppear/viewWillDissDrollroller पुश/पॉप पर आग लगाना। – dugla