मान लीजिए कि मेरे पास ये प्रोटोकॉल हैं:
protocol SomeProtocol {
}
protocol SomeOtherProtocol {
}
अब, अगर मुझे एक ऐसा फंक्शन चाहिए जो एक जेनेरिक टाइप ले, लेकिन उस टाइप को SomeProtocol
मेरे अनुरूप होना चाहिए :
func someFunc<T: SomeProtocol>(arg: T) {
// do stuff
}
लेकिन क्या कई प्रोटोकॉल के लिए एक प्रकार की बाधा जोड़ने का एक तरीका है?
func bothFunc<T: SomeProtocol | SomeOtherProtocol>(arg: T) {
}
इसी तरह की चीजें कॉमा का उपयोग करती हैं, लेकिन इस मामले में, यह एक अलग प्रकार की घोषणा शुरू करेगा। यहाँ मैंने कोशिश की है।
<T: SomeProtocol | SomeOtherProtocol>
<T: SomeProtocol , SomeOtherProtocol>
<T: SomeProtocol : SomeOtherProtocol>