Version: 1.19
Date: 2004/08/20 17:53:16
Copyright: (C) 1995 Free Software Foundation, Inc.
- Declared in:
- Foundation/NSProtocolChecker.h
Standards:
- MacOS-X
- OpenStep
- GNUstep
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
Allocates and initializes an NSProtocolChecker
instance by calling
-initWithTarget:protocol:
Autoreleases and returns the new instance.
Forwards any message to the delegate if the method
is declared in the checker's protocol; otherwise raises
an NSInvalidArgumentException
.
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.
Returns the protocol object the checker uses to verify whether a given message should be forwarded to its delegate.
Returns the target of the NSProtocolChecker.
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.
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.