मैंने UITabBarController
सबक्लास (MainViewController
कहा जाता है) लिखा है और कुछ उदाहरण चर, विशेष रूप से स्थान के स्थान का स्थान जोड़ा है। MainViewController
के प्रत्येक टैब को MainViewController
के स्थल चर का उपयोग करने की आवश्यकता है। पहला टैब में, एक UIViewController
उपवर्ग HomeViewController
नाम है, मैं अपने viewDidLoad
विधि लिखा था और साथ NSLog के लिए उत्पादन करने की कोशिश की दोनों ...अभिभावक दृश्य नियंत्रक (कस्टम) गुणों तक पहुंच
NSLog(@"%@", self.parentViewController.venue.name);
और
NSLog(@"%@", self.tabBarController.venue.name);
लेकिन XCode त्रुटि देता है
error: request for member 'venue' in something not a structure or union
मैं MainViewController
के भीतर से स्थल संपत्ति तक पहुंच सकता हूं, ठीक है, इसलिए वहां एक त्रुटि से इंकार कर दिया है। आईफोन सिम्युलेटर और self.tabBarController
दोनों को MainViewController
के उदाहरण के रूप में देखता है। लाइन ...
NSLog(@"%@", self.tabBarController);
आउटपुट ...
2009-06-05 17:54:46.502 Venue[29729:20b] <MainViewController: 0x536600>
चूंकि यह, मैं कास्टिंग का उपयोग कर शक में मदद मिलेगी एक MainViewController
उदाहरण के रूप में देखा है। क्या स्थल का एक प्रति के साथ HomeViewController
को आरंभ करने का मेरा एकमात्र अन्य विकल्प है या क्या मैं बस 'self.parentViewController.venue.name
' के साथ कुछ पूरी तरह से गलत कर रहा हूं? धन्यवाद, रोब
क्या आपने स्थान और नाम सही तरीके से नाम स्थापित किया है? यानी केवीसी अनुपालन एक्सेसर्स लिखा है या @property और @ सिंथेसाइज का इस्तेमाल किया? – Abizern