1/* NSObject.h 2 Copyright (c) 1994-2012, Apple Inc. All rights reserved. 3*/ 4 5#ifndef _OBJC_NSOBJECT_H_ 6#define _OBJC_NSOBJECT_H_ 7 8#if __OBJC__ 9 10#include <objc/objc.h> 11#include <objc/NSObjCRuntime.h> 12 13@class NSString, NSMethodSignature, NSInvocation; 14 15@protocol NSObject 16 17- (BOOL)isEqual:(id)object; 18@property (readonly) NSUInteger hash; 19 20@property (readonly) Class superclass; 21- (Class)class; 22- (instancetype)self; 23 24- (id)performSelector:(SEL)aSelector; 25- (id)performSelector:(SEL)aSelector withObject:(id)object; 26- (id)performSelector:(SEL)aSelector withObject:(id)object1 withObject:(id)object2; 27 28- (BOOL)isProxy; 29 30- (BOOL)isKindOfClass:(Class)aClass; 31- (BOOL)isMemberOfClass:(Class)aClass; 32- (BOOL)conformsToProtocol:(Protocol *)aProtocol; 33 34- (BOOL)respondsToSelector:(SEL)aSelector; 35 36- (instancetype)retain OBJC_ARC_UNAVAILABLE; 37- (oneway void)release OBJC_ARC_UNAVAILABLE; 38- (instancetype)autorelease OBJC_ARC_UNAVAILABLE; 39- (NSUInteger)retainCount OBJC_ARC_UNAVAILABLE; 40 41- (struct _NSZone *)zone OBJC_ARC_UNAVAILABLE; 42 43@property (readonly, copy) NSString *description; 44@optional 45@property (readonly, copy) NSString *debugDescription; 46 47@end 48 49 50__OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_2_0) 51OBJC_ROOT_CLASS 52OBJC_EXPORT 53@interface NSObject <NSObject> { 54 Class isa OBJC_ISA_AVAILABILITY; 55} 56 57+ (void)load; 58 59+ (void)initialize; 60- (instancetype)init; 61 62+ (instancetype)new; 63+ (instancetype)allocWithZone:(struct _NSZone *)zone; 64+ (instancetype)alloc; 65- (void)dealloc; 66 67- (void)finalize; 68 69- (id)copy; 70- (id)mutableCopy; 71 72+ (id)copyWithZone:(struct _NSZone *)zone OBJC_ARC_UNAVAILABLE; 73+ (id)mutableCopyWithZone:(struct _NSZone *)zone OBJC_ARC_UNAVAILABLE; 74 75+ (BOOL)instancesRespondToSelector:(SEL)aSelector; 76+ (BOOL)conformsToProtocol:(Protocol *)protocol; 77- (IMP)methodForSelector:(SEL)aSelector; 78+ (IMP)instanceMethodForSelector:(SEL)aSelector; 79- (void)doesNotRecognizeSelector:(SEL)aSelector; 80 81- (id)forwardingTargetForSelector:(SEL)aSelector __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); 82- (void)forwardInvocation:(NSInvocation *)anInvocation; 83- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector; 84 85+ (NSMethodSignature *)instanceMethodSignatureForSelector:(SEL)aSelector; 86 87- (BOOL)allowsWeakReference UNAVAILABLE_ATTRIBUTE; 88- (BOOL)retainWeakReference UNAVAILABLE_ATTRIBUTE; 89 90+ (BOOL)isSubclassOfClass:(Class)aClass; 91 92+ (BOOL)resolveClassMethod:(SEL)sel __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); 93+ (BOOL)resolveInstanceMethod:(SEL)sel __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0); 94 95+ (NSUInteger)hash; 96+ (Class)superclass; 97+ (Class)class; 98+ (NSString *)description; 99+ (NSString *)debugDescription; 100 101@end 102 103#endif 104 105#endif 106