ऑब्जेक्टिव-सी में, एक प्रोटोकॉल पैरामीटर विधि के रूप में एक वर्ग को निर्दिष्ट करना संभव है। उदाहरण के लिए, मेरे पास एक ऐसा तरीका हो सकता है जो केवल उसी की अनुमति देता UIViewController
है UITableViewDataSource
:
- (void)foo:(UIViewController<UITableViewDataSource> *)vc;
मुझे स्विफ्ट में ऐसा करने का तरीका नहीं मिल रहा है (शायद यह अभी तक संभव नहीं है)। आप कई प्रोटोकॉल का उपयोग करके निर्दिष्ट कर सकते हैं func foo(obj: protocol<P1, P2>)
, लेकिन आपको कैसे आवश्यकता है कि वस्तु एक विशेष वर्ग की भी है?