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