मैं स्विफ्ट में एक तर्क घोषित करने की कोशिश कर रहा हूं जो वैकल्पिक बंद हो जाता है। समारोह मैं घोषणा की है इस तरह दिखता है:स्विफ्ट में कोई वैकल्पिक बंद कैसे करता है?
class Promise {
func then(onFulfilled:()->(), onReject:()->()?){
if let callableRjector = onReject {
// do stuff!
}
}
}
लेकिन स्विफ्ट शिकायत है कि जहां "अगर दो" घोषित किया जाता है "एक सशर्त में सीमित मान एक वैकल्पिक प्रकार होना चाहिए"।
क्या आप जानते हैं कि इसेष्ठक में संलग्न करने के लिए तर्क क्या है? – Marcosc
शायद अस्पष्टता को दूर करने के लिए। यदि वैकल्पिक बंद करने के लिए वापसी मूल्य होना था, तो यह भ्रमित हो सकता है कि '() -> Int? 'का अर्थ क्या है। – Cezar
इसके अलावा, स्विफ्ट पुस्तक से: "जब एक वैकल्पिक प्रकार घोषित करते हैं, तो सुनिश्चित करें कि कोष्ठक का सही ढंग से उपयोग करने के लिए उपयोग करना सुनिश्चित करें? ऑपरेटर। उदाहरण के तौर पर, पूर्णांक की वैकल्पिक सरणी घोषित करने के लिए, एनोटेशन टाइप करें (Int []) ?; लेखन int []? एक त्रुटि उत्पन्न करता है। " – Cezar