ใน Objective-C สามารถระบุคลาสที่สอดคล้องกับโปรโตคอลเป็นพารามิเตอร์วิธีการได้ ตัวอย่างเช่นฉันสามารถมีวิธีการที่อนุญาตเฉพาะUIViewControllerที่สอดคล้องกับUITableViewDataSource:
- (void)foo:(UIViewController<UITableViewDataSource> *)vc;
ฉันหาวิธีทำใน Swift ไม่เจอ (อาจจะยังทำไม่ได้) คุณสามารถระบุหลายโปรโตคอลโดยใช้func foo(obj: protocol<P1, P2>)แต่คุณต้องการให้อ็อบเจ็กต์เป็นคลาสเฉพาะด้วยได้อย่างไร