2015-06-30 10 views
27

के माध्यम से नहीं गिर सकता है मेरे पास निम्नलिखित गार्ड स्निपेट है, जो 'गार्ड बॉडी' के माध्यम से त्रुटि उत्पन्न नहीं कर रहा है। क्या गलत है?स्विफ्ट 2: गार्ड बॉडी त्रुटि

guard NSFileManager.defaultManager().fileExistsAtPath(appBundlePath) else { 
     print("App bundle doesnt exist") 
} 
+6

शायद आप डाउनवोट के लिए कोई टिप्पणी छोड़ने की परवाह करते हैं? यह स्पष्ट रूप से कुछ लोगों को इस जवाब में मदद मिली है ... –

उत्तर

48

guard बयान कार्यक्रम के प्रवाह को संलग्न गुंजाइश से दूर ले करने के लिए एक कुछ है करना होगा (उदा सबसे अधिक संभावना मामला समारोह से वापस जाने के लिए return है)। यह सुरक्षा की आवश्यकता है कि गार्ड की रक्षा वैध नहीं होगी, इसलिए कार्यक्रम प्रवाह को कहीं और जाने की जरूरत है!

Documentation:

एक गार्ड बयान के बाकी खंड की आवश्यकता होती है, और या तो एक समारोह noreturn विशेषता या हस्तांतरण कार्यक्रम गार्ड बयान के enclosing दायरे से बाहर नियंत्रण से एक का उपयोग के साथ चिह्नित कॉल करना होगा निम्नलिखित बयानों:

  • वापसी
  • तोड़
  • जारी रखने के
  • फेंक
0

एक return बयान

एक वापसी कथन एक समारोह या विधि परिभाषा के शरीर में होता है और फोन करने के समारोह या विधि पर लौटने के लिए प्रोग्राम निष्पादन का कारण बनता है उपयोग करने पर विचार।

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