O'Reilly logo

Cocoa in a Nutshell by James Duncan Davidson, Michael Beam

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

NSProxy — Mac OS X 10.0

Synopsis

This class is the only other root class in the Cocoa frameworks besides NSObject. NSProxy defines an interface to objects that stand-in for other objects. The concrete subclass, NSDistantObject, is an integral part of the distributed objects system where proxy objects are used to represent in a process objects that have been vended by another process.

Distributed messaging is not, however, the only use of proxy objects. They can also stand-in for objects that have not yet been created. When the proxy object receives a message for the object it is representing, then it can load the object and replace itself with the real object. This is useful for objects that may be too expensive resource-wise to create when their existence may not be needed.

image with no caption

@interface NSProxy <NSObject>
                                  // Class Methods
   + (id)alloc;
   + (id)allocWithZone:(NSZone *)zone;
   + (Class)class;
   + (BOOL)respondsToSelector:(SEL)aSelector;
                                  // Instance Methods
   - (void)dealloc;
   - (NSString *)description;
   - (void)forwardInvocation:(NSInvocation *)invocation;
   - (NSMethodSignature *)methodSignatureForSelector:(SEL)sel;
                                  // Methods Implementing NSObject
   - (BOOL)isEqual:(id)object;
   - (unsigned)hash;
   - (Class)superclass;
   - (Class)class;
   - (id)self;
   - (NSZone *)zone;
   - (id)performSelector:(SEL)aSelector;
   - (id)performSelector:(SEL)aSelector
                                 withObject:(id) ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required