मुझे दो segue मिल गया है जो viewController
पर जाता है। 2 बटन हैं जो 2 segues का उपयोग कर viewController
से जुड़े हुए हैं। उस viewController
में मुझे यह जांचने की आवश्यकता है कि कौन सा बटन क्लिक किया गया था। तो वास्तव में मुझे यह जांचने की ज़रूरत है कि कौन सी सेग्यू का इस्तेमाल किया गया था/preformed। मैं इसे नियंत्रक वर्ग दृश्य में कैसे देख सकता हूं? मैं जानता हूँ कि वहाँ prepareForSegue
विधि है, लेकिन क्योंकि मैं कक्षा जहां 2 बटन हैं prepareForSegue
लगाने की जरूरत है मैं अपने उद्देश्य के लिए इस का उपयोग नहीं कर सकते, और मैं इसे वहाँ नहीं करना चाहते, लेकिन मैं क्योंकि मैं viewControllers
कक्षा में यह चाहते उस वर्ग में कुछ चरों तक पहुंचने और सेट करने की आवश्यकता है।यह जांचने के लिए कि कौन सी सेग्यू का उपयोग किया गया था
8
A
उत्तर
8
आप के एक चर निर्धारित करने की आवश्यकता पहले दृश्य की prepforsegue विधि में दूसरा व्यू कंट्रोलर। इस तरह यह किया जाता है:
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:segueIdentifier1])
{
SecondViewController *secondVC = (SecondViewController *)segue.destinationViewController;
if(sender.tag == ...) // You can of course use something other than tag to identify the button
{
secondVC.identifyingProperty = ...
}
else if(sender.tag == ...)
{
secondVC.identifyingProperty = ...
}
}
}
फिर आप उस संपत्ति को दूसरी वीसी में देख सकते हैं ताकि आप समझ सकें कि आप वहां कैसे आए थे। यदि आपने स्टोरीबोर्ड में 2 बटनों के लिए 2 सीगू बनाए हैं, तो केवल संबंधित गुण मान सेट करने के लिए केवल segue पहचानकर्ता पर्याप्त है। फिर कोड इस में बदल जाता है:
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:segueIdentifier1])
{
SecondViewController *secondVC = (SecondViewController *)segue.destinationViewController;
secondVC.identifyingProperty = ...
}
else if([segue.identifier isEqualToString:segueIdentifier2])
{
SecondViewController *secondVC = (SecondViewController *)segue.destinationViewController;
secondVC.identifyingProperty = ...
}
}
2
तो सबसे पहले आप storyborads में या अपने कोड के माध्यम से performSegueWithIdentifier
पद्धति का उपयोग करके सीधे अपने segues पहचानकर्ता सेट करना होगा। स्वतंत्र रूप से जिस तरह से आप choosed, अपने दृश्य नियंत्रक निम्न विधि आग जाएगा, ताकि आप यह जानना जो segue
संदेश भेज रही थी ओवरराइड करने के लिए की जरूरत है, तो आप इस तरह कार्य करें:
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"ButtonSegueIdentifierOne"]) {
// button 1
}
if ([segue.identifier isEqualToString:@"ButtonSegueIdentifierTwo"]) {
// button 2
}
}
संबंधित मुद्दे
- 1. log4j: कौन सी कॉन्फ़िगरेशन फ़ाइल का उपयोग किया गया था?
- 2. यह जांचने के लिए कि कोई ऑब्जेक्ट प्रारंभ किया गया था या नहीं? ऑब्जेक्टिव-सी
- 3. यह जांचने के लिए कि JCheckBox चेक किया गया है?
- 4. यह जांचने के लिए कि प्रोग्राम डीबग प्रतीकों के साथ संकलित किया गया था या नहीं?
- 5. ज़ेडग्राफ सी # बार चार्ट - यह जांचने के लिए कि किस बार माउस द्वारा क्लिक किया गया था?
- 6. यह जांचने के लिए कि कौन सा फ़िल्टर लागू किया गया है
- 7. यह पता लगाने के लिए कि कौन से फ़ंक्शंस को रेखांकित नहीं किया गया था
- 8. क्यूटी, पुशबटन, आईडी विशेषता? यह जानने के लिए कि कौन सा बटन क्लिक किया गया था
- 9. क्या हमें यह जांचने की ज़रूरत है कि वस्तुओं को वास्तव में आवंटित किया गया था?
- 10. यह जांचने के लिए कि कोई ईवेंट रोका गया है
- 11. यह जांचने के लिए कि वर्चुअलएव '--no-site-packages' के साथ बनाया गया था या नहीं?
- 12. यह जांचने के लिए कि बैश स्क्रिप्ट
- 13. सी # यह जांचने के लिए संभव है कि एक var परिभाषित किया गया है या नहीं?
- 14. यह जांचने के लिए कि क्या PKAddPassesViewController
- 15. यह पता लगाना कि कर्ल को रीडायरेक्ट किया गया था
- 16. UIActivityViewController - क्या यह जानने का कोई तरीका है कि कौन सी गतिविधि का चयन किया गया था?
- 17. उपयोगकर्ता द्वारा कौन सी सीएमडीलेट एलियास का उपयोग किया गया था?
- 18. क्या यह दिखाने के लिए टिप्पणियां हैं कि कौन सा संस्करण कोड जोड़ा गया था/उपयोगी के लिए संशोधित किया गया था?
- 19. यह कैसे बताना है कि .ipa पर हस्ताक्षर करने के लिए किस प्रोफ़ाइल/हस्ताक्षर प्रमाणपत्र का उपयोग किया गया था?
- 20. यह जांचने के लिए कि क्या इटरेटर प्रारंभ किया गया है?
- 21. क्यूटी यह जांचने के लिए कि कौन सा माउस बटन दबाया गया है
- 22. यह निर्धारित करने के लिए कि किस कंपाइलर से अनुरोध किया गया था
- 23. यह जांचने के लिए कि वर्डप्रेस
- 24. यह जांचने के लिए कि फ़ाइल
- 25. यह जांचने के लिए कि जावास्क्रिप्ट सरणी
- 26. पॉज़िक्स थ्रेड/सिग्नल: पोर्टेबल तरीका यह निर्धारित करने के लिए कि कौन सा थ्रेड सिग्नल वितरित किया गया था?
- 27. यह जांचने के लिए कि क्या वेबपृष्ठ पृष्ठ स्क्रॉल किया गया है?
- 28. क्लाइंट पर कौन सी सीडीएन jQuery कैश किया गया है यह देखने के लिए जावास्क्रिप्ट का उपयोग करना
- 29. सी # - यह जांचने के लिए कि कोई उदाहरण उसके प्रकार
- 30. अमेज़ॅन SimpleEmail: यह जांचने के लिए कि कोई ईमेल डिलीवर किया गया है या नहीं?
मुझे लगता है कि किया है, लेकिन जब मैं इस डाल: PageScrollViewController * नियंत्रक = (PageScrollViewController *) segue.destinationViewController; नियंत्रक। स्टार्टस्टोरी = हाँ; ऐप क्रैश – nonuma
*** बिना अपवाद अपवाद के कारण ऐप को समाप्त करना 'एनएसआईएनवालिडअर्ग्यूमेंट एक्सेप्शन', कारण: '- [यूआईवीव कंट्रोलर सेटस्टार्टस्टोरी:]: अज्ञात चयनकर्ता उदाहरण 0x9976420' पर भेजा गया है *** पहले फेंक कॉल स्टैक: – nonuma
अजीब हिस्सा यह है कि त्रुटि "setStartStory" के बारे में somethiing कहते हैं, लेकिन मैंने कभी इसका इस्तेमाल नहीं किया? मैं का उपयोग startStory – nonuma