Tôi có hai giao thứcLàm thế nào tôi có thể phân biệt cùng một tên phương thức của hai giao thức trong một lớp thực hiện?
@protocol P1
-(void) printP1;
-(void) printCommon;
@end
@protocol P2
-(void) printP2;
-(void) printCommon;
@end
Bây giờ, tôi đang thực hiện hai giao thức này trong một lớp
@interface TestProtocolImplementation : NSObject <P1,P2>
{
}
@end
Làm thế nào tôi có thể viết thực hiện phương pháp "printCommon". Khi tôi cố gắng thực hiện tôi có lỗi thời gian biên dịch.
Có khả năng viết phương pháp triển khai phương thức nào cho "printCommon" hay không.
Bạn có thể đăng lỗi và triển khai của mình không? – jbat100
#pragma mark - #pragma đánh dấu các phương thức giao thức P1 - (void) printP1 { \t NSLog (@ "print p1"); } - (void) printCommon { \t NSLog (@ "In P1"); } #pragma mark - #pragma đánh dấu các phương thức giao thức P2 - (void) printP2 { \t NSLog (@ "print p2"); } - (void) printCommon { \t NSLog (@ "In P2"); \t } Lỗi: định nghĩa lại '- [TestObjectLifeCycle printCommon]' Nó hoạt động tốt khi tôi xóa bất kỳ phương pháp triển khai phương thức "printCommon" nào. – selva