1// Matching properties 2@interface I1 { 3} 4- (int)getProp2; 5- (void)setProp2:(int)value; 6@end 7 8// Mismatched property 9@interface I2 10@property (readonly) float Prop1; 11@end 12 13// Properties with implementations 14@interface I3 { 15 int ivar1; 16 int ivar2; 17 int ivar3; 18 int Prop4; 19} 20@property int Prop1; 21@property int Prop2; 22@property int Prop3; 23@property int Prop4; 24@end 25 26@implementation I3 27@synthesize Prop1 = ivar1; 28@synthesize Prop2 = ivar3; 29@dynamic Prop3; 30@synthesize Prop4; 31@end 32