में तर्क को अनदेखा करें मैं प्रोटोकॉल के फ़ंक्शन को कैसे सेट कर सकता हूं ताकि यह वैकल्पिक तर्क प्राप्त कर सके या इसे अनदेखा कर सके? मेंस्विफ्ट डिफ़ॉल्ट तर्क और प्रोटोकॉल विधि/फ़ंक्शन
सभी की//Goal: Default forRound should be 0 if none provided
class OnlineGame : Game {
func modeName(forRound: Int = 0) -> ModeName {
//Some code
}
}
//Goal: I don't care about the forRound value here
class OfflineGame : Game {
func modeName(_ forRound: Int) -> ModeName {
//Some code
}
}
अपने जवाब के लिए धन्यवाद:
अपने
OfflineGame
मामले में, आप के साथ_
के रूप में आंतरिक नाम पैरामीटर अनदेखा कर सकते हैं। मुझे अभी भी 'ऑनलाइन गेम' के साथ कोई समस्या है, मैं पैरामीटर के बिना 'game.modeName()' को कॉल नहीं कर सकता अगर मैं ऑनलाइन गेम क्लास में लिखा गया कार्य सेट करता हूं: 'func modeName (_ forRound: Int = 0) -> मोडनाम ' – Kalzemअच्छा। यह मेरे लिए काम किया। कुछ समय पहले मेरी पहली कोशिश पर मैंने स्पष्ट रूप से कुछ गलती की थी। धन्यवाद! –
@BabyAzerty आप 'game' चर कैसे घोषित करते हैं? यदि वह 'खेल दें: गेम = ऑनलाइन गेम()', आप सीधे '.modeName()' पर कॉल नहीं कर सकते हैं, क्योंकि संकलक को यह नहीं पता कि यह 'ऑनलाइन गेम' वर्ग का उदाहरण है। – rintaro