1 #pragma clang system_header 2 3 #define nil 0 4 #define BOOL int 5 6 #define NS_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin") 7 #define NS_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end") 8 9 NS_ASSUME_NONNULL_BEGIN 10 11 typedef struct _NSZone NSZone; 12 typedef unsigned long NSUInteger; 13 @class NSCoder, NSEnumerator; 14 15 @protocol NSObject 16 + (instancetype)alloc; 17 - (instancetype)init; 18 - (instancetype)autorelease; 19 @end 20 21 @protocol NSCopying 22 - (id)copyWithZone:(nullable NSZone *)zone; 23 @end 24 25 @protocol NSMutableCopying 26 - (id)mutableCopyWithZone:(nullable NSZone *)zone; 27 @end 28 29 @protocol NSCoding 30 - (void)encodeWithCoder:(NSCoder *)aCoder; 31 @end 32 33 @protocol NSSecureCoding <NSCoding> 34 @required 35 + (BOOL)supportsSecureCoding; 36 @end 37 38 typedef struct { 39 unsigned long state; 40 id *itemsPtr; 41 unsigned long *mutationsPtr; 42 unsigned long extra[5]; 43 } NSFastEnumerationState; 44 45 __attribute__((objc_root_class)) 46 @interface 47 NSObject<NSObject> 48 @end 49 50 @interface NSString : NSObject<NSCopying> 51 - (BOOL)isEqualToString : (NSString *)aString; 52 - (NSString *)stringByAppendingString:(NSString *)aString; 53 - (nullable NSString *)nullableStringByAppendingString:(NSString *)aString; 54 + (NSString * _Nonnull) generateString; 55 + (NSString *) generateImplicitlyNonnullString; 56 + (NSString * _Nullable) generatePossiblyNullString; 57 @end 58 59 void NSSystemFunctionTakingNonnull(NSString *s); 60 61 @interface NSSystemClass : NSObject 62 - (void) takesNonnull:(NSString *)s; 63 @end 64 65 NSString* _Nullable getPossiblyNullString(); 66 NSString* _Nonnull getString(); 67 68 @protocol MyProtocol 69 - (NSString * _Nonnull) getString; 70 @end 71 72 NS_ASSUME_NONNULL_END 73 74 @interface NSDictionary : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> 75 76 - (NSUInteger)count; 77 - (id)objectForKey:(id)aKey; 78 - (NSEnumerator *)keyEnumerator; 79 - (id)objectForKeyedSubscript:(id)aKey; 80 81 @end 82 83 @interface NSDictionary (NSDictionaryCreation) 84 85 + (id)dictionary; 86 + (id)dictionaryWithObject:(id)object forKey:(id <NSCopying>)key; 87 + (instancetype)dictionaryWithObjects:(const id [])objects forKeys:(const id <NSCopying> [])keys count:(NSUInteger)cnt; 88 89 @end 90 91 @interface NSMutableDictionary : NSDictionary 92 93 - (void)removeObjectForKey:(id)aKey; 94 - (void)setObject:(id)anObject forKey:(id <NSCopying>)aKey; 95 96 @end 97 98 @interface NSMutableDictionary (NSExtendedMutableDictionary) 99 100 - (void)addEntriesFromDictionary:(NSDictionary *)otherDictionary; 101 - (void)removeAllObjects; 102 - (void)setDictionary:(NSDictionary *)otherDictionary; 103 - (void)setObject:(id)obj forKeyedSubscript:(id <NSCopying>)key __attribute__((availability(macosx,introduced=10.8))); 104 105 @end 106