2013-08-19 4 views
5

के साथ कोई सीगू नहीं है मेरे पास यह अजीब समस्या है, किसी कारण से मेरा segue सही तरीके से काम नहीं कर रहा है।रिसीवर के पास पहचानकर्ता निष्पादन

मेरे पास दो सीगू सेटअप हैं, एक सेटिंग की स्थिति के आधार पर यह चुने गए सेग्यू को निर्धारित करता है। जबकि अन्य हो जाता है "रिसीवर पहचानकर्ता के साथ कोई segue है"

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
// Do any additional setup after loading the view, typically from a nib. 

// check if registered already 
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"registered"] == YES) { 
    // Registered 

    // Give the logo some time to show before moving on 
    [NSTimer scheduledTimerWithTimeInterval:4.0 target:self selector:@selector(splashLoadedRegistered:) userInfo:nil repeats:NO]; 
} else { 
    // Register 

    // Give the logo some time to show before moving on 
    [NSTimer scheduledTimerWithTimeInterval:4.0 target:self selector:@selector(splashLoaded:) userInfo:nil repeats:NO]; 
} 
} 



-(void)splashLoaded:(id)sender 
{ 
//This one works 
[self performSegueWithIdentifier:@"registerSegue" sender:self]; 
} 

-(void)splashLoadedRegistered:(id)sender 
{ 
//This one does not work 
[self performSegueWithIdentifier:@"registeredSegue" sender:self]; 
} 

यहाँ मेरी स्टोरीबोर्ड का एक स्क्रीन शॉट है उनमें से एक एक आकर्षण की तरह काम करता है।

Screenshot

बातें ध्यान रखें:

  1. मैं segue की वर्तनी जाँच कर ली है।

  2. यह ऐप में एकमात्र स्टोरीबोर्ड है, और मैंने यह सुनिश्चित करने के लिए जांच की है कि यह info.plist में और प्रोजेक्ट के सारांश में एक सेटअप था।

  3. मैंने सिम्युलेटर को रीसेट कर दिया है, और प्रोजेक्ट को साफ़ किया है।

  4. सीगू व्यू कंट्रोलर से आ रहा है, दृश्य नहीं।

इसके साथ किसी भी मदद की सराहना की जाती है।

+0

संभावित डुप्लिकेट: [रिसीवर के पास पहचानकर्ता के साथ कोई सीगू नहीं है] (http://stackoverflow.com/questions/12015531/receiver-has-no-segue-with-identifier) ​​ –

+2

मुझे लगता है कि आप 'segue' और 'seque का उपयोग करते हैं '(जी बनाम क्यू) एक दूसरे के रूप में। यदि आप वास्तविक पहचानकर्ताओं में भी ऐसा करते हैं, तो इससे समस्या आ रही है। –

+0

क्या आपका प्रोग्राम –

उत्तर

10

मेरे प्रश्न का कोई जवाब नहीं था। समस्या xcode में एक साधारण बग प्रतीत होता है। सिम्युलेटर में डिवाइस को बदलने के बाद segue ठीक काम करता है। यह उस डिवाइस प्रकार पर वापस बदलने के बाद भी काम करता था जिसमें समस्या थी।

+0

मुझे अभी इस समस्या को भौतिक डिवाइस के साथ मिला है और पाया है कि ऐप को अनइंस्टॉल करना और फिर इसे एक्सकोड से चलाने से इस समस्या को हल किया गया। – arik

+0

जिज्ञासा से बाहर एक्सकोड का कौन सा संस्करण चल रहा था? मैं अपनी मूल पोस्ट के समय 4.5 चला रहा था। – EliteTech

+1

मैं एक्सकोड 5 का नवीनतम गैर-बीटा संस्करण चला रहा था, 5A3005 का निर्माण। – arik

0

मैंने पाया कि यदि आप स्रोत संपादक में कहानी बोर्ड फ़ाइल खोलते हैं तो आप देखेंगे कि segues गलत खंड में रखा गया है, यह दृश्य नियंत्रक के कनेक्शन अनुभाग में होना चाहिए। एक्सकोड 5 कभी-कभी एक्सएमएल पेड़ में गलत स्थान पर segues डालता है। हाथ से पेड़ संपादित करें।

0

स्टोरीबोर्ड में और अपने मैन्युअल रूप से व्यू कंट्रोलर में प्रदर्शन करने के लिए अपने सेग्यू का नाम बदलने का प्रयास करें। कभी-कभी ऐसा होता है जब आप उसी नाम से पिछले सेग्यू को हटा देते हैं। या आपने एक ही नाम के साथ दो segues बनाया और उनमें से एक हटा दिया।

0

मेरे लिए, मुझे यह सुनिश्चित करना था कि मेरा सीगू सही तरीके से जा रहा है। सुनिश्चित करें कि स्टोरीबोर्ड संपादक में आपके सभी तीर सही तरीके से बह रहे हैं!

1

original poster's own answer आधार पर, मैं सिम्युलेटर के "सामग्री और सेटिंग" रीसेट । इस मुद्दे को हल किया।

मैं समझता हूं कि एक्सकोड डिवाइस पर ऐप के बंडल की प्रतिलिपि बनाने का अनुकूलन करता है, केवल बदले में चीजों की प्रतिलिपि बनाता है। मुझे लगता है कि इसमें कुछ गलत हो गया था और यह प्रभावशाली स्टोरीबोर्ड में बदलावों की प्रतिलिपि नहीं बना रहा था।

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