मुझे लगता है कि मुझे यह SIGABRT नहीं मिल रहा है। मेरे पास यह स्टोरीबोर्ड आईओएस एप्लीकेशन है, और स्टोरीबोर्ड में मेरे पास UITableViewController है। अब, मैं टीवीसी का एक सेल ले सकता हूं और इसे "सेग्यू" व्यू कंट्रोलर को धक्का दे सकता हूं, लेकिन अगर मुझे कुछ स्थितियों पर "सेग्यू" कार्रवाई को रोकने की ज़रूरत है तो क्या होगा? जाहिर है, आप तैयार नहीं कर सकते हैं, क्योंकि सेक्शन: प्रेषक: विधि इसके लिए अनुमति नहीं देता है, और ऐसा लगता है कि एक संक्रमण केवल तब होता है जब एक संक्रमण होने के बारे में कहा जाता है।performSegueWithIdentifier बनाम instantiateViewControllerWithIdentifier
तो मैंने अनुमान लगाया कि मैं तालिका में जा सकता हूं दृश्य: didSelectRowAtIndexPath: और प्रोग्राम को सैद्धांतिक रूप से निष्पादित करें। उपोक्त, लेकिन अभी भी ...
ठीक है, यह पता चला है कि मैंने गलत अनुमान लगाया है। या कम से कम, मैं कुछ गलत कर रहा हूँ। सबसे स्पष्ट तरीके से करना यह
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"TheOtherIdentifier" sender:self];
}
होगा, लेकिन एक SIGABRT, जो किसी भी उपयोगी जानकारी (नहीं देता है और हाँ, मुझे यकीन है कि यह है कि लाइन है कि ऐप्लिकेशन क्रैश बनाता है हूँ, मैं के साथ पूरे ऐप्लिकेशन क्रैश डीबगर के साथ चेक किया गया :) इसके अलावा, वीसी मैं लोड करने की कोशिश कर रहा हूं पहचानकर्ता सही ढंग से सेट है, क्योंकि निम्नलिखित कोड
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"TheOtherIdentifier"];
[self.navigationController pushViewController:vc animated:YES];
}
"काम करता है"। कोटेशन अंक इंगित करते हैं कि यह स्पष्ट रूप से इस प्रकार का संक्रमण नहीं किया जाना चाहिए।
अब: विचार?
बस स्पष्ट होने के लिए, आपने कहा कि आप गंतव्य पहचान नियंत्रक के लिए यह पहचानकर्ता सेट करते हैं। लेकिन क्या आपने स्वयं सेग्यू के लिए पहचानकर्ता सेट किया था? वह पहचानकर्ता है जिसे आपको पहले मामले में उपयोग करने की आवश्यकता है। –
ठीक है, मैं उसे याद कर रहा था। आगे की टिप्पणियों के लिए टीजे के जवाब का संदर्भ लें। – Morpheu5