2012-02-21 9 views
8

तो मेरे पास एक UITableView है, और एक नया UIViewController खोलने के लिए कक्ष UIStoryboardSegue से जुड़े हुए हैं। सेल prepareForSegue पर क्लिक करने के बाद कॉल किया जाता है और सब कुछ ठीक काम करता है।आईओएस - UIStoryboardSegue तालिका सेल का पता लगाने और एक दृश्य खोलने नियंत्रक?

प्रश्न: follwoing विधि में मुझे कैसे पता चलेगा कि मेरे टेबल व्यू में चयनित सेल का इंडेक्सपैथ क्या है?

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    ObjectDetailViewController *mvc = [segue destinationViewController]; 
    // PassingObject *obj = [self.array objectAtIndex: ? ]; 
    mvc.passingObject = obj; 
} 

उत्तर

18
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    // Assume self.view is the table view 
    NSIndexPath *path = [self.tableView indexPathForSelectedRow]; 
    DetailObject *detail = [self detailForIndexPath:path]; 
    [segue.destinationViewController setDetail:detail]; 
} 
+0

धन्यवाद, मैं स्टोरीबोर्ड का उपयोग करने के लिए निब्स से स्विच कर रहा हूं, और यह एक चुनौती रही है क्योंकि अच्छे दस्तावेज नहीं हैं। क्या स्टोरीबोर्ड के लिए कोई अच्छा ब्लॉग या ट्यूटोरियल है? – aryaxt

+1

यहां आपके प्रश्न से संबंधित एक अच्छा ट्यूटोरियल है: [रेवेन्डरलिच] (http://www.raywenderlich.com/5191/beginning-storyboards-in-ios-5-part-2)। आप अपने अन्य ट्यूटोरियल भी देख सकते हैं। –

+1

उपरोक्त शायद वहां एकमात्र सभ्य ट्यूटोरियल है। मेरे पास कई आईओएस 5 किताबें भी हैं जो स्टोरीबोर्ड की सतह को मुश्किल से खरोंच करती हैं। यूआई जितना आसान होगा उतना स्टोरीबोर्ड फायदेमंद प्रतीत होता है। सबसे कस्टम, अधिक कठिन है। – DJPlayer

6
बजाय

[self.tableView indexPathForSelectedRow] (DJPlayer जवाब को देखने) आप [self.tableView indexPathForCell: इस] का उपयोग कर सकते हैं, क्योंकि इस इस मामले में एक चयनित सेल है।

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