2013-03-05 7 views
8

मैं मास्टर नियंत्रक और विस्तार नियंत्रक के साथ एक UISplitViewController है:UISplitViewController के साथ विस्तार दृश्य नियंत्रक में मास्टर व्यू कंट्रोलर कैसे प्राप्त करें?

MyMasterController *masterViewController = [[[MyMasterController alloc] initWithDirectory:directoryElement] autorelease]; 
MyDetailController *detailViewController = [[MyDetailController alloc] init]; 

masterViewController.detailViewController = detailViewController; 

UISplitViewController *splitViewController = [[UISplitViewController alloc] init]; 
splitViewController.viewControllers = @[[[UINavigationController alloc] initWithRootViewController:masterViewController], [[UINavigationController alloc] initWithRootViewController:detailViewController]]; 
splitViewController.delegate = self; 

MyDetailController एक मेज सूची दृश्य नियंत्रक है, मैं दृश्य नियंत्रक रन एक विधि में महारत हासिल करने के लिए जब सेल पर उपयोगकर्ता क्लिक करता है, तो मास्टर प्राप्त करना चाहते हैं विस्तारक नियंत्रक में नियंत्रक?

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    [master some_method]; // how to get ? 
} 

उत्तर

15

मैं सूचनाएं बजाय प्रयोग करेंगे, तो आपके गुरु में:

-(void) viewDidLoad { 

    ... 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(someMethod) name:@"DoSomeMethod" object:nil]; 

} 

-(void) someMethod { 

    ... 

} 

और अपने विस्तार से:

- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

    [[NSNotificationCenter defaultCenter] postNotificationName:@"DoSomeMethod" object:nil]; 

} 
+0

यह एक अच्छा विचार है कि मुझे लगता है कि – why

+0

इसके लिए आपको बहुत कुछ धन्यवाद। ठीक वही जो मेरे द्वारा खोजा जा रहा था। प्रतिभाशाली!! –

+0

बिल्कुल सही विचार :)। बहुत बहुत धन्यवाद –

0

जबकि jjv360s जवाब एक बहुत मदद करता है, कुछ निश्चित रूप से मान पास करना चाहते हैं बुलाया विधि के लिए। बाद ट्यूटोरियल मुझे मदद मिली है:

http://www.devfright.com/nsnotificationcenter-tutorial/

मूल्य value पास करने के लिए, आप वर्ग कि सूचना भेजता है में एक संपत्ति के रूप में value का पर्दाफाश करने की जरूरत है। प्राप्त करने की विधि को (id) कक्षा में डालने की आवश्यकता है जो value का खुलासा करता है।

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

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