2012-11-20 13 views
5

से पहले बुलाया जाता है मेरे पास टेबल सेल से सेग्यू वाला स्टोरीबोर्ड है। मैं कुछ डेटा के साथ कुछ गुण सेट करना चाहते हैं जब एक पंक्ति का चयन हो जाता है तो मैं निम्न कार्य करें:स्टोरीबोर्ड सेग्यू को यूआईटीबल व्यू के डीसेक्लेरो

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    [[ProperyManager sharedPropertyManager]setSelectedRow:[verseIds objectAtIndex:indexPath.row]]; 
    [[ProperyManager sharedPropertyManager]setID:[poemIDs objectAtIndex:indexPath.row]]; 
    [[ProperyManager sharedPropertyManager]setRowToReturn:[NSString stringWithFormat:@"%i",indexPath.row]]; 


} 

समस्या है, तो गंतव्य दृश्य नियंत्रक को देखते नियंत्रक जीवन चक्र तरीके (viewWillAppear आदि) से पहले कहा जाता हो उपरोक्त चयन विधि ऊपर, क्योंकि प्रतिनिधि विधि को निष्पादित करने से पहले segue दृश्य को धक्का देता है।

मैं इसके आसपास कैसे हो सकता हूं?

उत्तर

14

सेल से सेग्यू को नए वीसी में न बनाएं, इसके बजाय सेग्यू को पुराने वीसी से नए वीसी में सेट करें और सेग्यू को पहचानकर्ता दें।

तब भीतर

didSelectRowAtIndexPath आप कॉल कर सकते हैं

[self performSegueWithIdentifier:@"Segue" sender:self]

+0

धन्यवाद जिसने मेरा दिन –

14

Rawkode का जवाब एक अच्छा समाधान है - एक विकल्प है कि, prepareForSegue: में, आप तालिका दृश्य के चयनित पंक्ति का उपयोग कर सकते है (sender तर्क तालिका दृश्य कक्ष होगा, फिर आप इंडेक्स पथ प्राप्त करने के लिए [self.tableView indexPathForCell:(UITableViewCell*)sender] कर सकते हैं) और उस बिंदु पर जो भी आपको चाहिए उसे सेट अप करें।

+0

धन्यवाद धन्यवाद, आपके उत्तर ने मुझे कुछ और समझने में मदद की और अधिक समझने में मदद की :) –

+0

बिल्कुल सही jrturton। यह ठीक वही है जिसकी मुझे तलाश थी... –

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