Trong Objective C, phương pháp giao thức có thể được buộc hay tùy chọn:giao thức C Mục tiêu đòi hỏi phải thực hiện ít nhất một trong một tập hợp các phương pháp
@protocol AProtocol
@required
-(void) aRequiredMethod;
@optional
-(void) anOptionalMethod;
@end
Có một cách thanh lịch để nói rằng đối tượng phù hợp với giao thức đã để đáp ứng ít nhất một trong một tập hợp các phương pháp, giấc mơ của tôi sẽ là một cái gì đó giống như
@protocol AProtocol
@anyof
-(void) onePossibleMethod;
-(void) anotherPossibleMethod;
@optional
-(void) anOptionalMethod;
@end
EDIT:
Sinh mệnh này (như xa như tôi biết), không thể, wou ld có một cách để tăng cảnh báo thời gian biên dịch nếu một lớp được khai báo là phù hợp với một giao thức đã cho được thực hiện hoàn toàn bằng các phương thức tùy chọn
@protocol AProtocol
@optional
-(void) onePossibleMethod;
-(void) anotherPossibleMethod;
@end
không thực hiện được ít nhất một trong số chúng.
lại: 'CHỈNH SỬA' không phải là tôi đã thấy. Nếu bạn thực sự muốn tự động hóa điều này, bạn có thể sử dụng thời gian chạy objc. – justin