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