मैंने अभी इस समस्या को हल किया है - और ऊपर दिए गए उत्तर लगभग सही हैं, वे सिर्फ प्रतिनिधि को स्थापित करने के बारे में भूल गए हैं।
मेरे पास एक रूट व्यू कंट्रोलर है जो एक सूची का आकार प्रदर्शित करता है, एक बच्चे के दृश्य नियंत्रक को कॉल करता है जो सूची के आकार को बदल सकता है, और वापसी पर आकार को अपडेट करना होगा।
SettingsView *sv = [[SettingsView alloc] initWithNibName:@"SettingsView" bundle:nil];
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:sv];
[nc setDelegate:sv];
: -
जब मैं (नीचे SettingsView) मेरे माता-पिता दृश्य बनाते हैं, और एक UINavigationController रूट दृश्य के रूप में जोड़ने, मैं इससे पहले कि मैं दृश्य प्रदर्शित UINavigationController के प्रतिनिधि सेट करने के लिए सुनिश्चित करें कि महत्वपूर्ण हिस्सा है
माता-पिता को देखते हुए, UINavigationControllerDelegate प्रोटोकॉल लागू:
@interface SettingsView : UIViewController <UINavigationControllerDelegate>
और willShowViewController तरीका प्रदान:
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
// Your code to update the parent view
}
इसे बच्चे के दृश्य को खारिज करने के बाद कहा जाता है, और माता-पिता दृश्य को फिर से चलाने से पहले।
वाह धन्यवाद, वही समस्या थी। – drew010
सही उत्तर स्वीकार करने के लिए मत भूलना। –
आपका अवलोकन बहुत महत्वपूर्ण था .... unforgiven3 उत्तर सही है, लेकिन यदि आप ViewController में UINavigationControllerDelegate प्रोटोकॉल को लागू नहीं करते हैं, जहां आप कॉलिंग करेंगेवव कंट्रोलर यह कभी काम नहीं करेगा, और माता-पिता ViewController भी आपको "ViewController __strong" भेजने की शिकायत करेगा असंगत प्रकार आईडी का पैरामीटर –