2013-05-30 7 views
9

मेरे viewDidLoad के भीतर मुझे पिछले नियंत्रक के आधार पर कुछ कस्टम कोड चाहिए।segue स्रोत दृश्य नियंत्रक के संदर्भ

मैं इसे नियंत्रित करने के लिए गंतव्य नियंत्रक के दृश्यडिडलोड में सेग्यू स्रोत नियंत्रक या पिछले सीगू पहचानकर्ता का उपयोग कैसे कर सकता हूं?

+1

क्या आपका मतलब गंतव्य नियंत्रक में है? आप अंतिम वाक्य स्पष्ट नहीं हैं। – rdelmar

उत्तर

7

आपके द्वारा बनाई गई सीगू का संदर्भ प्राप्त करने का कोई तरीका नहीं है। आप गंतव्य नियंत्रक में एक संपत्ति (मेरे उदाहरण में sourceVC) बना सकते हैं, और prepareForSegue विधि में इस संपत्ति के लिए स्वयं को (स्रोत दृश्य नियंत्रक में):

[(DestinationVCClass *)segue.destinationViewController sourceVC] = self; 
+0

धन्यवाद आपको यह मिला – StuartM

5

आप केवल [self presentingViewController] का उपयोग कर सकते हैं और आप सीजी जारी करने वाले वीसी तक पहुंच पाएंगे। मैं आमतौर पर इस तरह की स्थिति के लिए isMemberOfClass: के साथ इसे जोड़ना पसंद करता हूं।

+1

यह केवल तभी काम करेगा जब सेग्यू मोडल है, यह पुश के लिए काम नहीं करेगा। – rdelmar

+0

ऐसा लगता है जैसे वह एक मोडल सेगू के बारे में बात कर रहा है, लेकिन हाँ अच्छा कॉल। –

+0

मुझे इस विधि को कॉल करके मेरा रूट व्यू कंट्रोलर मिलता है, इसलिए ऐसा लगता है कि तर्क थोड़ा टूटा हुआ है। – Bob

0

आप तनाव मुक्त होने के segue विधि में निम्नलिखित है गंतव्य में

self.source = (UIStoryboardSegue *)segue.sourceViewController; 

गंतव्य में UIStoryboardSegue के रूप में स्रोत को परिभाषित करें। उपर्युक्त रेखा स्रोत या पिछले सीगू देगी।

संबंधित मुद्दे