लोड करें मान लें कि मैं एक निब से दृश्य नियंत्रक लोड करता हूं, और दृश्य के पीछे इसके एक सबव्यू के साथ कुछ करने का निर्णय लेता हूं। समय के बाद में, मैं इस दृश्य नियंत्रक के दृश्य को दिखाऊंगा।एक दृश्य बनाएं (initWithNibName से प्रारंभ) अपने सभी सबव्यू
viewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
[viewController.someSubview doSomething];
//later on
[mainView addSubview:viewController.view];
समस्या यह है कि, someSubview वस्तु लोड करने के लिए जब तक दृश्य का प्रकटन प्रतीत नहीं होता है, तो विधि DoSomething नहीं बुलाया जाता है। अब तक मेरा कामकाज कॉल करना है:
[mainView addSubview:viewController.view];
[viewController.view removeFromSuperview];
पहले व्यू कंट्रोलर के सबव्यूज़ को आरंभ करने के लिए। क्या इस कार्य के लिए कोई और शानदार तरीका है (जैसे लोडस्यूब्यूज विधि या कुछ)?
धन्यवाद का उपयोग करें, कि यह किया था। – iamj4de
@ मार्कआमेरी ऐप्पल आपको स्पष्ट रूप से दस्तावेज में कॉल -लोड देखने के लिए नहीं कहता है: "आपको इस विधि को सीधे कॉल नहीं करना चाहिए। दृश्य नियंत्रक इस विधि को कॉल करता है जब इसकी दृश्य संपत्ति का अनुरोध किया जाता है लेकिन वर्तमान में शून्य है। यह विधि दृश्य को लोड या बनाता है और इसे दृश्य संपत्ति को सौंपता है। " –
@ माइकवेलर अच्छा बिंदु - मैंने इसे जानने के लिए पर्याप्त दस्तावेज़ीकरण को नहीं देखा था। मुझे लगता है कि हमें दो थोड़ा बदसूरत हैक्स के बीच चयन करना होगा। मेरे हिस्से के लिए, मैं शायद 'लोड व्यू' पर चिपके रहूंगा क्योंकि यह अधिक स्पष्ट है, लेकिन मैं स्वीकार करता हूं कि यह साफ समाधान नहीं है जिसे मैंने सोचा था। –