2014-06-05 7 views
56

प्रतिक्रिया देने वाले आंतरिक संरचनाओं से बाहरी लूप को कैसे तोड़ें, स्विफ्ट में break कथन का जवाब देने वाले नेस्टेड संरचना के भीतर से बाहरी लूप को कैसे तोड़ूं?ब्रेक (लूप/स्विच)

उदाहरण के लिए:

while someCondition { 
    if someOtherCondition { 
     switch (someValue) { 
      case 0:  // do something 
      case 1:  // exit loop 
      case 2...5: // do something else 
      default: break 
     } 
    } else { 
     someCondition = false 
    } 
} 

break केवल मुझे switch से बाहर निकलना होगा, और स्विफ्ट में, यह के रूप में खाली मामलों की अनुमति नहीं है प्रयोग की जाने वाली है। मैं switch के भीतर से पूरी तरह से लूप से कैसे बाहर निकल सकता हूं?

उत्तर

116

स्विफ्ट labeled statements के लिए अनुमति देता है। लेबल किए गए कथन का उपयोग करके, आप निर्दिष्ट कर सकते हैं कि आप कौन सी नियंत्रण संरचना break से चाहे आप कितनी गहराई से अपने लूप को घोंसला करते हैं (हालांकि, आम तौर पर, कम घोंसले एक पठनीयता स्टैंडपॉइंट से बेहतर होती है)। यह continue के लिए भी काम करता है।

उदाहरण:

outerLoop: while someCondition { 
    if someOtherCondition { 
     switch (someValue) { 
      case 0:  // do something 
      case 1:  break outerLoop // exit loop 
      case 2...5: // do something else 
      default: break 
     } 
    } else { 
     someCondition = false 
    } 
} 
संबंधित मुद्दे