#if __has_feature(modules) @import ObjectiveC; @import CoreFoundation; @import CoreGraphics; #else #import #import #import #endif #define NS_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) #pragma clang assume_nonnull begin typedef struct objc_object { void *isa; } *id; typedef struct _NSZone NSZone; void *allocate(NSZone *zone); typedef double NSTimeInterval; @class NSString, NSArray, NSDictionary, NSSet, NSEnumerator; #define NS_ARRAY(...) NSArray<__VA_ARGS__> * @interface NSArray : NSObject - (ObjectType)objectAtIndexedSubscript:(NSUInteger)idx; - description; + (instancetype)arrayWithObjects:(const ObjectType[])objects count:(NSUInteger)count; - (void)makeObjectsPerformSelector:(SEL)aSelector; - (void)makeObjectsPerformSelector:(SEL)aSelector withObject:(ObjectType)anObject; @end @interface NSCoder : NSObject @end @protocol NSCoding - (instancetype)initWithCoder:(NSCoder *)aCoder; @end @protocol NSSecureCoding @end @protocol NSCopying - (id)copyWithZone:(NSZone *)zone; @end #define NS_DICTIONARY(...) NSDictionary<__VA_ARGS__> * @interface NSDictionary, ObjectType> : NSObject /**/ @property (readonly) NSUInteger count; - (nullable ObjectType)objectForKey:(KeyType)aKey; - (NSEnumerator *)keyEnumerator; @end @interface NSDictionary (NSExtendedDictionary) - (nullable ObjectType)objectForKeyedSubscript:(KeyType)key; @end @interface NSDictionary (Inits) - (instancetype)init; @end @interface NSMutableDictionary, ObjectType> : NSDictionary - (void)removeObjectForKey:(KeyType)aKey; - (void)setObject:(ObjectType)anObject forKey:(KeyType)aKey; @end @interface NSMutableDictionary (NSExtendedMutableDictionary) - (void)setObject:(ObjectType)obj forKeyedSubscript:(KeyType)key; @end #define NS_SET(...) NSSet<__VA_ARGS__> * @interface NSSet : NSObject - (instancetype)init; - (NSUInteger)count; - (KeyType)anyObject; @end @interface NSMutableSet : NSSet - (void)addObject:(id)obj; - (void)removeObject:(id)obj; @end @interface NSNumber : NSObject @end @interface NSDecimalNumber : NSObject + (instancetype)initWithMantissa:(unsigned long long)mantissa exponent:(short)exponent isNegative:(BOOL)isNegative; + (NSDecimalNumber *)decimalNumberWithMantissa:(unsigned long long)mantissa exponent:(short)exponent isNegative:(BOOL)isNegative; @end @interface NSError : NSObject @property (copy,nonatomic) NSString *domain; @property (nonatomic) NSInteger code; @end @interface NSString : NSObject - (void)onlyOnNSString; + (instancetype)stringWithContentsOfFile:(NSString*)path error:(NSError**)error; + (instancetype)stringWithContentsOfFile:(NSString*)path encoding:(int)encoding error:(NSError**)error; @end @interface Bee : NSObject -(void)buzz; @end @interface Hive : NSObject { Bee *queen; } - init; @property (nonnull) NSArray *bees; @property (nullable) NSDictionary *beesByName; @property NSSet *allBees; @property NSDictionary, Bee *> *anythingToBees; + (instancetype)hiveWithQueen:(Bee *)queen; - (instancetype)visit; @end @interface NSMutableString : NSString @end @interface NSURL : NSObject + (instancetype)URLWithString:(NSString *)URLString; @end @interface NSAttributedString : NSString - (NSAttributedString *)sliceAttributedString:(NSInteger)startIndex; @end typedef CGPoint NSPoint; typedef CGSize NSSize; typedef CGRect NSRect; #define NS_ENUM(_type, _name) CF_ENUM(_type, _name) #define NS_OPTIONS(_type, _name) CF_OPTIONS(_type, _name) typedef NS_ENUM(NSUInteger, NSRuncingMode) { NSRuncingMince, NSRuncingQuince }; #pragma clang assume_nonnull end