#import <UIKit/UIKit.h>
#import "UCMapviewController.h"
#import "UCMenuviewController.h"
#import "UCOverviewController.h"
@interface UCRootViewController : UIViewController
@property (weak, nonatomic) UCMapviewController *mapviewController;
@property (weak, nonatomic) UCMenuviewController *menuviewController;
@property (weak, nonatomic) UCOverviewController *overviewController;
यह मेरे UCRootViewController की घोषणा है जो इन उप-दृश्य नियंत्रकों को प्रबंधित करना चाहिए। जब वह एक नियंत्रक को दिखाया जाना चाहिए या नहीं, तो वह बाद में अपने प्रतिनिधि बनने के लिए भी बन जाएगा।मेरे उप-दृश्य नियंत्रकों के लिए कमजोर या मजबूत गुण?
रूट ViewController UIAppDelegate में मजबूत है और हर समय सक्रिय रहेगा।
तो क्या यह सब-व्यू कंट्रोलर कमजोर बनाने के लिए सही है? मैं 100% निश्चित नहीं हूं, लेकिन जहां तक मैं समझता हूं कि कमजोर पॉइंटर्स को तब तक हटा दिया जाता है जब उनके लिए कोई मजबूत संकेतक नहीं होता है। तो चूंकि जड़ मजबूत है, उन्हें कमजोर बनाने के लिए सही है, है ना?
#import <UIKit/UIKit.h>
@class UCRootViewController;
@interface UCOverviewController : UIViewController
@property (weak, nonatomic) UCRootViewController *rootviewController;
यह मेरे उप-दृश्य नियंत्रकों में से एक का शीर्षलेख है। उनके पास (बाद में) प्रतिनिधि रूटव्यू नियंत्रक के लिए एक कमजोर सूचक है। क्या प्रतिनिधि प्रतिनिधि विधियों को कॉल करने के लिए @class UCRootviewController
घोषित करना पर्याप्त है? क्या मुझे इसकी भी आवश्यकता है?
धन्यवाद
संपादित करें: मैं बस a nice article about ViewControllers और पारित होने पढ़ें:
हमेशा उच्च गुणवत्ता वाले दृश्य नियंत्रक कंटेनर या + का उपयोग [UIViewController presentModalViewController: एनिमेटेड:] अपने आवेदन में दृश्य नियंत्रकों प्रदर्शित करने के लिए । यदि आपको किसी संदर्भ नियंत्रक को संदर्भ को संदर्भ रखने की आवश्यकता है, तो कमजोर संदर्भ का उपयोग करें, सिवाय इसके कि यदि आप वास्तव में कैशिंग उद्देश्यों के लिए ज़िंदा रहना चाहते हैं। ऐसे मामलों में, कम-स्मृति स्थितियों का सही ढंग से जवाब देना सुनिश्चित करें।
यह एक कमजोर संदर्भ का उपयोग करता है, इस पर आपकी राय क्या है?
यह कहता है कि उपयोग कंटेनरों का उपयोग करते समय कमजोर संदर्भों का उपयोग करें जो स्वयं आपके व्यू कंट्रोलर के लिए दृढ़ता से उपयोग करते हैं। जैसा कि मैंने अपने उत्तर में लिखा था, जब आप उदाहरण के लिए एक नेविगेशन नियंत्रक का उपयोग करते हैं तो आप कमजोर संदर्भों का उपयोग करके ठीक हैं। लेकिन जब आप नियंत्रकों को चारों ओर रखना चाहते हैं क्योंकि आपने अपने वर्तमान वीसी के दृश्य में सबव्यूव्यू के रूप में अपने विचार जोड़े हैं तो आपको मजबूत पॉइंटर्स का उपयोग करने की आवश्यकता है अन्यथा उन्हें समय-समय पर हटा दिया जाएगा। –
ठीक है आपको बहुत धन्यवाद – MJB