Up

NSProtocolChecker class reference

Authors

Mike Kienenberger

Version: 1.19

Date: 2004/08/20 17:53:16

Copyright: (C) 1995 Free Software Foundation, Inc.

Software documentation for the NSProtocolChecker class

NSProtocolChecker : NSProxy

Declared in:
Foundation/NSProtocolChecker.h
Standards:

The NSProtocolChecker and NSProxy classes provide message filtering and forwarding capabilities. If you wish to ensure at runtime that a given object will only be sent messages in a certain protocol, you create an NSProtocolChecker instance with the protocol and the object as arguments-

    id versatileObject = [[ClassWithManyMethods alloc] init];
    id narrowObject = [NSProtocolChecker protocolCheckerWithTarget: versatileObject
                                         protocol: @protocol(SomeSpecificProtocol)];
    return narrowObject;
This is often used in conjunction with distributed objects to expose only a subset of an objects methods to remote processes


Instance Variables

Method summary

protocolCheckerWithTarget: protocol: 

+ (id) protocolCheckerWithTarget: (NSObject*)anObject protocol: (Protocol*)aProtocol;

Allocates and initializes an NSProtocolChecker instance by calling -initWithTarget:protocol:
Autoreleases and returns the new instance.


forwardInvocation: 

- (void) forwardInvocation: (NSInvocation*)anInvocation;

Forwards any message to the delegate if the method is declared in the checker's protocol; otherwise raises an NSInvalidArgumentException.


initWithTarget: protocol: 

- (id) initWithTarget: (NSObject*)anObject protocol: (Protocol*)aProtocol;

Initializes a newly allocated NSProtocolChecker instance that will forward any messages in the aProtocol protocol to anObject, its delegate. Thus, the checker can be vended in lieu of anObject to restrict the messages that can be sent to anObject. If any method in the protocol returns anObject, the checker will replace the returned value with itself rather than the target object.
Returns the new instance.


protocol 

- (Protocol*) protocol;

Returns the protocol object the checker uses to verify whether a given message should be forwarded to its delegate.


target 

- (NSObject*) target;

Returns the target of the NSProtocolChecker.




Instance Variables for NSProtocolChecker Class

_myProtocol

@protected Protocol* _myProtocol;

Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.


_myTarget

@protected NSObject* _myTarget;

Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.






Up