1typedef int Int; 2 3@interface I1 4@end 5 6// Matching category 7@interface I1 (Cat1) 8- (Int)method0; 9@end 10 11// Matching class extension 12@interface I1 () 13- (Int)method1; 14@end 15 16// Mismatched category 17@interface I1 (Cat2) 18- (float)method2; 19@end 20 21@interface I2 22@end 23 24// Mismatched class extension 25@interface I2 () 26- (float)method3; 27@end 28 29// Category with implementation 30@interface I2 (Cat3) 31@end 32 33@implementation I2 (Cat3) 34@end 35 36// Category with implementation 37@interface I2 (Cat5) 38@end 39 40@implementation I2 (Cat5) 41@end 42 43// Category with mismatched implementation 44@interface I2 (Cat6) 45@end 46 47@implementation I2 (Cat6) 48- (int)blah { return 0; } 49@end 50