मैं अपने स्टोरीबोर्ड में प्रारंभिक दृश्य नियंत्रक को खोलने के लिए एक अनजान सेगू का उपयोग कर रहा हूं। खोलना अच्छा काम करता है, मैं अपने प्रारंभिक दृश्य नियंत्रक में इस पद्धति लागू:आईओएस - मेरे प्रारंभिक दृश्य नियंत्रक को अनदेखा करें
Warning: Attempt to present on whose view is not in the window hierarchy!
:
- (IBAction) unwindToInitialViewController:(UIStoryboardSegue *) unwindSegue {
}
हालांकि
के बाद मैं खोलना मैं निम्न त्रुटि मिलता है अगर मैं एक और दृश्य नियंत्रक करने के लिए एक segue कोशिश ऐसा लगता है कि ऐसा तब होता है जब मैं दृश्य नियंत्रक से अनदेखा करता हूं जिसे स्टोरीबोर्ड में 'प्रारंभिक दृश्य नियंत्रक' के रूप में चेक किया जाता है। क्या यह एक बग है? क्या मुझे उस प्रारंभिक नियंत्रक को खोलने में सक्षम होना चाहिए? अन्य विचार?
संपादित करें:
[self performSegueWithIdentifier:@"mySegue" sender:nil];
मैं नोट करना चाहिए कि यह लॉगइन/लॉगआउट समस्या है:
यहाँ कैसे मैं दूसरे segue प्रदर्शन करते हैं। जब मैं पहली बार लॉग इन करता हूं तो मेरे लॉगिन नियंत्रक से मेरा अगला नियंत्रक काम करता है। जब मैं लॉगआउट करता हूं तो मैं प्रारंभिक दृश्य नियंत्रक से अनचाहे हूं। मैं फिर से लॉग इन करता हूं और मेरे लॉगिन नियंत्रक से अगले नियंत्रक तक segue काम नहीं करता है।
संपादित करें 2:
और अधिक शोध से मैं क्योंकि मैं अपने प्रवेश के लिए एक प्रतिनिधि का उपयोग कर रहा है अपने मिल गया है। लॉगिन एसिंक है, मैं AFNetworking के साथ एक कॉल करता हूं और जब यह किया जाता है तो मैं अपना लॉगिन प्रतिनिधि (इस मामले में लॉगिन वीसी) कहता हूं। उस समय लॉगिन वीसी दृश्य में segue कर सकते हैं।
लॉग इन कोड:
- (void) login: (NSDictionary *) parameters {
[http.manager POST:url parameters:parameters success:^(AFHTTPRequestOperation *operation, NSDictionary *response) {
[self.loginDelegate loginSuccess:response];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
[self.loginDelegate loginFailure:error];
}];
}
मेरा प्रवेश कुलपति जो प्रतिनिधि है:
- (void) loginSuccess:(NSDictionary *) response {
// setup user info based on response
...
// Segue
[self performSegueWithIdentifier:@"loginSuccessSegue" sender:nil];
}
मैं जाँच की है कि मैं मुख्य थ्रेड में हूँ जब मैं और segue और फिर भी प्रयास विफल। मुझे पता है कि AFNetworking हमेशा मुख्य धागे पर सफलता/विफलता ब्लॉक भी कहता है।
मुश्किल हिस्सा। यदि मैं उस उपरोक्त कोड को ब्लॉक का उपयोग करने के लिए बदलता हूं और प्रतिनिधि नहीं हूं तो स्टोरीबोर्ड/सेग्यू गड़बड़ नहीं होता है और मैं बिना किसी समस्या के लॉगिन और लॉगआउट कर सकता हूं।
सीगू प्रतिनिधि पैटर्न के साथ पहली बार क्यों काम करता है, लेकिन लॉगआउट (अनदेखा) पर, क्या मैं फिर से उस सेग का उपयोग नहीं कर सकता?
संपादित करें 3:
अधिक जांच से पता चलता है कि अपना लॉगिन पर तनाव मुक्त कुलपति viewDidAppear दो बार कहा जाता है। शुरुआती खोलने पर दृश्य अभी भी ढेर पर दिखता है, दिखाएं कि यह जल्दी से दिखाता है और देखेंडिडएपियर को बुलाया जाता है। हालांकि यह जल्दी से एनिमेटेड है और देखें VillAppear को एक अलग वीसी के साथ दूसरी बार कहा जाता है। मुझे लगता है कि यह समस्या की जड़ हो सकती है। जब मैं उस वीसी से अनजान हूं, तो क्या यह केवल एनिमेटेड होने के लिए एनिमेटेड है?
आपका प्रारंभिक दृश्य नियंत्रक क्या है? इसके अलावा, आप दूसरी सीगू कैसे कर रहे हैं? – JDM
ऐसा लगता है कि आप जल्द ही अगले नियंत्रक के लिए segue। – kirander
@Jay मैंने जोड़ा कि मैं प्रोग्रामेटिक रूप से कैसे segue। – lostintranslation