1 #import <Foundation/Foundation.h> 2 3 // Basic class with no super class 4 @interface Basic1 5 @end 6 7 @interface Basic2 : NSObject 8 @end 9 10 @interface Basic3 : NSObject 11 @property BOOL property1; 12 @property(readonly) BOOL property2; 13 @property(getter=isProperty3) BOOL property3; 14 @property BOOL dynamicProp; 15 @end 16 17 @interface Basic4 : NSObject { 18 @public 19 BOOL ivar1; 20 @protected 21 BOOL ivar2; 22 @package 23 BOOL ivar3; 24 @private 25 BOOL ivar4; 26 } 27 @end 28 29 __attribute__((visibility("hidden"))) @interface Basic4_1 : NSObject { 30 @public 31 BOOL ivar1; 32 @protected 33 BOOL ivar2; 34 @package 35 BOOL ivar3; 36 @private 37 BOOL ivar4; 38 } 39 @end 40 41 @interface Basic4_2 : NSObject { 42 @private 43 BOOL ivar4; 44 @package 45 BOOL ivar3; 46 @protected 47 BOOL ivar2; 48 @public 49 BOOL ivar1; 50 } 51 @end 52 53 @interface Basic5 : NSObject 54 + (void)aClassMethod; 55 - (void)anInstanceMethod; 56 @end 57 58 @interface Basic6 : NSObject 59 @end 60 Basic6()61@interface Basic6 () { 62 @public 63 BOOL ivar1; 64 } 65 @property BOOL property1; 66 - (void)anInstanceMethodFromAnExtension; 67 @end 68 69 @interface Basic6 (Foo) 70 @property BOOL property2; 71 - (void)anInstanceMethodFromACategory; 72 @end 73 74 __attribute__((visibility("hidden"))) 75 @interface Basic7 : NSObject 76 @end 77 78 @interface Basic7 () 79 - (void) anInstanceMethodFromAnHiddenExtension; 80 @end 81 82 @interface Basic8 : NSObject 83 + (void)useSameName; 84 @end 85 86 // Classes and protocols can have the same name. For now they would only clash 87 // in the selector map if the protocl starts with '_'. 88 @protocol _A 89 - (void)aMethod; 90 @end 91 92 @interface A : NSObject 93 - (void)aMethod NS_AVAILABLE(10_11, 9_0); 94 - (void)bMethod NS_UNAVAILABLE; 95 @end 96 97 @interface Basic9 : NSObject 98 @property(readonly) BOOL aProperty NS_AVAILABLE(10_10, 8_0); 99 @end 100 101 @interface Basic9 (deprecated) 102 @property(readwrite) BOOL aProperty NS_DEPRECATED_MAC(10_8, 10_10); 103 @end 104