कहा जा रहा है मेरे पास एक UICollectionView है जिसमें कई सेल्स शामिल हैं। मैं इन कोशिकाओं में से किसी एक पर टैप करने में सक्षम होना चाहता हूं और यह निर्धारित करने के बाद कि यह उचित कार्रवाई है, मेरे स्टोरीबोर्ड सेग्यू को अन्य दृश्य नियंत्रक के पास रखना है।readyForSegue को कभी भी
मैंने अपने स्टोरीबोर्ड में, सेगू के साथ अपना द्वितीयक दृश्य नियंत्रक बनाया है। मेरी UICollectionView उपवर्ग में, मैं निम्नलिखित ...
-(BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
return NO; // So that I can determine whether or not to perform the segue based on app logic
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
[collectionView deselectItemAtIndexPath:indexPath animated:YES];
// Selection logic here
[self performSegueWithIdentifier:@"showDetailView" sender:self];
}
इस वर्ग मैं भी लागू कर दिया है में क्रियान्वित किया है - (शून्य) prepareForSegue: (UIStoryboardSegue *) segue इस: (आईडी) इस मुझे सेटअप करने के लिए अनुमति देने के लिए प्रदर्शन के पहले से मेरा विवरण देखें। यह इस तरह दिखता है:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"HELLO, WORLD!!!");
}
सब कुछ क्रम में हो रहा है, लेकिन मैं लग रहा है कि prepareForSegue
कभी नहीं कहा जाता है। मैंने लॉगिंग करने की कोशिश की है, ब्रेकपॉइंट्स सेट कर रहा हूं। कोई संकेत नहीं है कि इस विधि को कभी भी बुलाया जाता है। मुझे यहां क्या समझ नहीं आ रहा है? इस विधि को क्यों नहीं कहा जा रहा है? हालांकि इसमें अब एक सरल "हैलो, वर्ल्ड" कथन है, मेरे पास पहले कोड था कि मेरा विस्तार दृश्य निर्भर था और इसके परिणामस्वरूप अपवाद होगा क्योंकि विस्तार दृश्य ठीक से सेटअप नहीं किया गया था।
क्या मुझे कुछ और याद आ रहा है? मुझे कुछ करना चाहिए कि मैं वर्तमान में नहीं हूं?
सही उत्तर के लिए धन्यवाद। – Tommy