Function

protocol_addMethodDescription

Adds a method to a protocol.

Declaration

void protocol_addMethodDescription(Protocol *proto, SEL name, const char *types, BOOL isRequiredMethod, BOOL isInstanceMethod);

Parameters

proto

The protocol you want to add a method to.

name

The name of the method you want to add.

types

A C string representing the signature of the method you want to add.

isRequiredMethod

A Boolean indicating whether the method is a required method of the proto protocol. If YES, the method is a required method; if NO, the method is an optional method.

isInstanceMethod

A Boolean indicating whether the method is an instance method. If YES, the method is an instance method; if NO, the method is a class method.

Discussion

To add a method to a protocol using this function, the protocol must be under construction. That is, you must add any methods to proto before you register it with the Objective-C runtime (via the objc_registerProtocol function).

See Also

Working with Protocols

objc_getProtocol

Returns a specified protocol.

objc_copyProtocolList

Returns an array of all the protocols known to the runtime.

objc_allocateProtocol

Creates a new protocol instance.

objc_registerProtocol

Registers a newly created protocol with the Objective-C runtime.

protocol_addProtocol

Adds a registered protocol to another protocol that is under construction.

protocol_addProperty

Adds a property to a protocol that is under construction.

protocol_getName

Returns a the name of a protocol.

protocol_isEqual

Returns a Boolean value that indicates whether two protocols are equal.

protocol_copyMethodDescriptionList

Returns an array of method descriptions of methods meeting a given specification for a given protocol.

protocol_getMethodDescription

Returns a method description structure for a specified method of a given protocol.

protocol_copyPropertyList

Returns an array of the properties declared by a protocol.

protocol_getProperty

Returns the specified property of a given protocol.

protocol_copyProtocolList

Returns an array of the protocols adopted by a protocol.

protocol_conformsToProtocol

Returns a Boolean value that indicates whether one protocol conforms to another protocol.